1 打包只需打包入口模塊即可
2 父工程打pom包
<packaging>pom</packaging>
公共模塊不能打war包,否則依賴他的模塊無法打包
3 spring-boot-maven-plugin插件只能放在入口模塊,不可放在父工程或者公共模塊的pom文件,否則無法打包
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork> <!-- 如果沒有該配置,devtools不會生效 -->
</configuration>
</plugin>
</plugins>
</build>
4 公共模塊需指明其資源位置,添加
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**.*</include>
<include>**/*.*</include><!-- i18n能讀取到 -->
<include>**/*/*.*</include>
</includes>
</resource>
</resources>
</build>
正常打包后應該除了 XX.jar文件還有另外一個 XX.jar.original文件
如果只有XX.jar 文件 發布到linux系統將不能成功運行,在windows執行java -jar XX.jar則會提示
jar包中沒有主清單屬性
因為用壓縮工具查看jar包中 MANIFEST.MF 文件

發現其中沒有說明,主類和啟動類 ,圖中箭頭所指。
那么這時需要在pom文件中
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--<version>2.1.6.RELEASE</version>-->
<configuration>
<fork>true</fork> <!-- 如果沒有該配置,devtools不會生效 -->
</configuration>
<!--idea打jar包,提示 jar包中沒有主清單屬性 - 解決辦法
1.是 <goal>repackage</goal>起了作用,內容如下:-->
<!--插件中添加如下內容:executions-->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
加上這個插件,即可。
浙公網安備 33010602011771號