使用maven-assembly-plugin插件打包

1、导入pom.xml

   <build>
        <finalName>ReadDataToSave-1.0.0</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.gl.SaveDataMain</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <appendAssemblyId>false</appendAssemblyId>
                </configuration>
            </plugin>
        </plugins>
    </build>

2、说明

(1)<finalName>ReadDataToSave-1.0.0</finalName>为所打jar名字:

(2)<appendAssemblyId>false</appendAssemblyId>表明所打jar包不带jar-with-dependencies后缀,

所打包效果为:

改为true或者去掉此此行,打包效果为:

虽然生成俩个jar包,但只有ReadDataToSave-1.0.0-jar-with-dependencies.jar可以运行,ReadDataToSave-1.0.0.jar则不能运行,出现下面运行错误:

(3)所打jar包不但包含了自己项目中的代码和资源,还包含了所有依赖包的内容。所以可以直接通过java -jar来运行。

3、注意

最好按如下步骤打jar包:

先clean再assembly

4、所遇到的坑

坑一:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project WriteTxt: Compilation failure: Compilation failure: 
[ERROR] /C:/MyselfApplication/MyProject/IDEA/WhiteListModel/ReadDataToSave/src/main/java/com/gl/service/DbOperate.java:[16,46] -source 1.5 中不支持 diamond 运算符
[ERROR]   (请使用 -source 7 或更高版本以启用 diamond 运算符)
[ERROR] /C:/MyselfApplication/MyProject/IDEA/WhiteListModel/ReadDataToSave/src/main/java/com/gl/util/DateUtil.java:[15,52] -source 1.5 中不支持 diamond 运算符
[ERROR]   (请使用 -source 7 或更高版本以启用 diamond 运算符)
[ERROR] -> [Help 1]

解决办法:

pom.xml加上如下配置提升source版本:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.3</version>
  <configuration>
     <source>1.8</source>
     <target>1.8</target>
   </configuration>
</plugin>

坑二:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources (default-resources) on project WriteTxt: Cannot create resource output directory: C:\MyselfApplication\MyProject\IDEA\WhiteListModel\ReadDataToSave\target\classes -> [Help 1]

问题分析:

这个原因在于,我先执行clean时将target目录删了,但是这个目录被xshell占用着,故再assembly就会报这样的错误!

解决办法:

解除此文件夹的占用即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郝少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值