项目生成jar包相关问题
1.spring-boot maven打包,一般pom.xml文件里会加
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
这样打的jar里会多一个目录BOOT-INF。
2.引起问题,程序包不存在。
3.解决办法,如果A子模块包依赖了B子模块包,在B子模块的pom文件,加入
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
一、打成jar部署
利用springboot的插件打包
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
打jar的小细节
当有引入本地jar配置,如下图
pom.xml配置如下
<dependency>
<groupId>eis_protobuf</groupId>
<artifactId>eis_protobuf</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/eis_protobuf.jar</systemPath>
</dependency>
springboot-maven-plugin打包的第一级目录为Boot-INF,如果不做任何配置,直接mvn clean package会发现无法把本地的jar打进Boot-INF中,则此时要做如下配置
方法一
在pom.xml的resources节点添加如下内容
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
ps: 如果遇到一些外部配置文件比如mybatis的mapper文件或者activiti生成器的json文件,则也要把相应的文件打进resources中,否则项目启动会因找不到配置文件,而报错,配置文件如下
<resource>
<directory>${basedir}/src/main/java</directory>
<filtering>false</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>templates/**</exclude>
<exclude>static/**</exclude>
</excludes>
<includes>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.yaml</include>
<include>**/*.properties</include>
<include>**/*.key</include>
<include>**/*.des</include>
<include>**/*.template</include>
<include>**/*.json</include>
</includes>
</resource>
方法二
在spring-boot-maven-plugin插件中设置includeSystemScope参数
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>