zoukankan      html  css  js  c++  java
  • 【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文件,该文件是不包含依赖包的。

  • 相关阅读:
    利用 .NET Framework 命令行工具
    和AI机器人Alice的一段聊天记录
    WINDOWS自启动程序的10大隐身之所
    开放式开发/开源项目TimeDog[C#WindowsApp]
    Microsoft月度中文速递
    新安装的VS2003出现了一个问题不能新建项目!
    实例构造器和类型构造器的一些比较
    C++ 模板里面的typename
    vim 折叠的用法
    Redis3:持久化
  • 原文地址:https://www.cnblogs.com/gossip/p/14148418.html
Copyright © 2011-2022 走看看