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


     
    背景
      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文件,该文件是不包含依赖包的。

  • 相关阅读:
    URAL1204. Idempotents(扩展欧几里得)
    URAL1049. Brave Balloonists
    URAL1133. Fibonacci Sequence(二分)
    URAL1352. Mersenne Primes
    URAL1118. Nontrivial Numbers
    hdu3270Arranging Your Team(dfs)
    Codeforces Round #209 (Div. 2)C
    KMP
    树状数组求逆序对
    poj2352
  • 原文地址:https://www.cnblogs.com/gossip/p/14148418.html
Copyright © 2020-2023  润新知