zoukankan      html  css  js  c++  java
  • 项目打包

    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>

    加上这个插件,即可。



     
  • 相关阅读:
    php filter 安全过滤函数
    python常用快捷键
    【python】详解time模块功能asctime、localtime、mktime、sleep、strptime、strftime、time等函数以及时间的加减运算
    linux VIM基本命令
    vim常用命令总结 (转)
    sklearn中的交叉验证(Cross-Validation)
    scikit-learn 0.18中的cross_validation模块被移除
    python logging模块
    随机森林参数理解与调优
    kaggle 欺诈信用卡预测——Smote+LR
  • 原文地址:https://www.cnblogs.com/21556guo/p/14454711.html
Copyright © 2011-2022 走看看