项目打包 1 打包只需打包入口模块即可 2 父工程打pom包 3  spring-boot-maven-plugin插件只能放在入口模块,不可放在父工程或者公共模块的pom文件,否则无法打包 4 公共模块需指明其资源位置,添加

 

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文件

项目打包
1 打包只需打包入口模块即可
2 父工程打pom包
3  spring-boot-maven-plugin插件只能放在入口模块,不可放在父工程或者公共模块的pom文件,否则无法打包
4 公共模块需指明其资源位置,添加

如果只有XX.jar 文件 发布到linux系统将不能成功运行,在windows执行java -jar XX.jar则会提示

jar包中没有主清单属性 

因为用压缩工具查看jar包中 MANIFEST.MF 文件

项目打包
1 打包只需打包入口模块即可
2 父工程打pom包
3  spring-boot-maven-plugin插件只能放在入口模块,不可放在父工程或者公共模块的pom文件,否则无法打包
4 公共模块需指明其资源位置,添加

发现其中没有说明,主类和启动类 ,图中箭头所指。

那么这时需要在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>

加上这个插件,即可。