ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Maven】使用插件拷贝jar包到指定目录

2020-12-17 11:04:47  阅读:265  来源: 互联网

标签:插件 包含 jar 指定 Maven 模块 目录


  背景   java项目模块的jar包默认会生成到target目录,如果希望将所有模块的jar包统一复制到指定目录,本文给出了解决方法   解决   使用maven-antrun-plugin插件,使用如下:

<plugins>

    <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
            <execution>
                <id>copy</id>
                <phase>package</phase>
                <configuration>
                    <tasks>

                          <copy todir="指定目录完整路径">
                            <!-- project.build.directory表示各个模块的target目录 -->
                            <fileset dir="${project.build.directory}">
                                <!-- 需要复制的jar包文件名称 -->
                                <include name="${project.artifactId}-${project.version}.jar"/>
                            </fileset>
                        </copy>

                    </tasks>
                </configuration>
                <goals>
                    <goal>run</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

</plugins>
  上面的方法有个问题,有些复制到指定目录的jar包不包含依赖的第三方jar文件,有些又包含。原因不明   如果指定需要复制的每个模块名称、路径就可以解决此问题(tasks部分)
<tasks>

    <copy todir="指定目录完整路径" overwrite="true">
        <fileset dir="模块A target 目录完整路径">
        <!-- 模块jar文件名称  -->
            <include name="A.jar"/>
        </fileset>
    </copy>

    <copy todir="指定目录完整路径" overwrite="true">
        <fileset dir="模块B target 目录完整路径">
            <include name="B.jar"/>
        </fileset>
    </copy>
 
</tasks>
  其它   关于【有些生成的jar不会包含依赖包】的可能原因:复制的是target目录下jar.original文件,该文件是不包含依赖包的。

标签:插件,包含,jar,指定,Maven,模块,目录
来源: https://www.cnblogs.com/gossip/p/14148418.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有