• 项目打包


    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>

    加上这个插件,即可。



     
  • 相关阅读:
    Spring Boot中整合Sharding-JDBC读写分离示例
    Spring Boot Admin2.X监控的服务context-path问题
    Spring Boot中整合Sharding-JDBC单库分表示例
    Spring Cloud Gateway 之 AddRequestHeader GatewayFilter Factory
    程序猿:论学习方式的重要性
    如何使用mybatis《三》
    如何使用mybatis《二》
    如何使用mybatis《一》
    mybatis中自建的类型别名
    mybatis中#和$符号的区别
  • 原文地址:https://www.cnblogs.com/21556guo/p/14454711.html
Copyright © 2020-2023  润新知