spring boot项目本地可以运行,打包之后运行jar包缺少驱动依赖。
原因是jar包是从外部下载到本地再导入进来,打包时没有一起打包进来。
百度试了几个方案,最后是用下面这个方案解决的:
1.在根目录下新建libs文件夹,将需要的jar放进去。
2.在pom中加入以下配置,导入本地jar。
<dependency>
<groupId>com.baidu</groupId>
<artifactId>progress</artifactId>
<version>12.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/progress.jar</systemPath>
</dependency>
<dependency>
<groupId>com.baidu</groupId>
<artifactId>openedge</artifactId>
<version>12.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/openedge.jar</systemPath>
</dependency>
systemPath是引入本地jar包的位置,这个最重要。
3. 加上includeSystemScope参数,在pom的spring boot打包插件中。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>