zoukankan      html  css  js  c++  java
  • Maven将引用项/依赖包打包到jar文件中

    mvn package命令只能用于没有引用项/依赖包的打包。

    解决方法:

    如果要把引用项/依赖包打包到运行jar文件中,有2个可选插件:

    maven-assembly-plugin
    maven-shade-plugin

    下面使用的是maven-assembly-plugin插件。

    在pom.xml中加入以下内容:

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>这里填写主类名,例如com.clotho.util.Calculate</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    保存后,刷新Maven。

    在命令行中输入:

    mvn assembly:assembly

    程序会自动把引用包也一起打包到jar文件中

    附录:

    1.提示“找不到plugins”错误的处理

    如果使用的是IDEA,提示“Maven plugins can not be found”,可按以下步骤解决:

    File -> Setting -> Build, Execution, Deployment -> Build Tools -> Maven -> 勾选Use plugin registry选项

    然后,

    File -> Invalidate Caches -> Invalidate and Restart(重启IDEA)

    2.指定jar文件名

    在build标签中增加<finalName>指定的jar文件名</finalName>

    例如,要把jar文件名改成MyJarName:

    <build>
        <finalName>MyJarName</finalName>
    </build>

    3.去掉包含依赖包的jar文件名的名字后缀

    maven-assembly-plugin会生成2个jar包,一个是原名(没包含依赖包),一个是带后缀名(包含了依赖包)

    后缀名是在descriptorRef标签中配置,例如上面方法配置的是jar-with-dependencies:

    <descriptorRef>jar-with-dependencies</descriptorRef>

    如果注释掉这行,或去掉里面的jar-with-dependencies,编译时会报错。

    解决方法是在configuration表中中加入一行<appendAssemblyId>false</appendAssemblyId>,例如:

    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <appendAssemblyId>false</appendAssemblyId>
    </configuration>
  • 相关阅读:
    centos 7安装gitlab及使用
    jenkins配置自动执行sql脚本
    zabbix监控mysql主从同步
    linux服务器通过mailx邮件发送附件到指定邮箱
    监控pos收银机
    elk安装与配置
    zabbix实时监控mysql业务数据
    Build Eclipse plug-in for Hadoop
    io 一不小心 关闭不住的偶
    hdu 1059二进制优化背包问题
  • 原文地址:https://www.cnblogs.com/live41/p/15579680.html
Copyright © 2011-2022 走看看