【问题标题】:Copy each dependency to its own folder将每个依赖项复制到其自己的文件夹中
【发布时间】:2014-10-24 11:51:08
【问题描述】:

我想将每个依赖项及其传递依赖项复制到自己的专用文件夹中。我觉得这很难解释,所以这里有一个例子。

Project - 我们称之为“myProject” - 有两个依赖项
依赖A
依赖B

两个依赖都有传递依赖。
让我们将 A 的依赖项称为 A1 和 A2。 让我们将 B 的依赖项称为 B1、B2 和 B3

我想在构建项目时创建以下目录结构:

/myProject.jar  
/projects/A/A.jar  
/projects/A/jarlib/A1.jar  
/projects/A/jarlib/A2.jar    
/projects/B/B.jar  
/projects/B/jarlib/B1.jar  
/projects/B/jarlib/B2.jar  
/projects/B/jarlib/B3.jar  

这是否可以通过使用 maven 程序集插件、maven 依赖插件或同时使用它们来实现?或者有没有其他插件可以实现我正在寻找的东西?我一直在尝试使用这两个插件,但到目前为止,我已经能够获得所有传递依赖项仅复制到单个文件夹的结果

【问题讨论】:

    标签: java maven maven-assembly-plugin


    【解决方案1】:

    尝试Maven Dependency Plugincopy-dependencies 目标并将useRepositoryLayout 设置为true。

    不是完全相同的结构,而是一个 Maven Repository 的结构。

    【讨论】:

      【解决方案2】:

      为了说明“Puce”的想法。这个例子对我来说没问题。

      <project>
        ...
        <profiles>
          <profile>
            <id>qa</id>
            <build>
              <plugins>
                <plugin>
                  <artifactId>maven-dependency-plugin</artifactId>
                  <executions>
                    <execution>
                      <phase>install</phase>
                      <goals>
                        <goal>copy-dependencies</goal>
                      </goals>
                      <configuration>
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
                      </configuration>
                    </execution>
                  </executions>
                </plugin>
              </plugins>
            </build>
          </profile>
        </profiles>
      </project>
      

      【讨论】:

        【解决方案3】:

        我什至不记得我问过这个问题。好吧,自从我问起已经九个月了,我已经找到了答案。一种方法是为所有这些项目创建父 pom 并在 maven 程序集插件中使用模块集。这样就可以确定每个模块的输出目录,从而实现所需的目录结构。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-30
          • 2015-09-28
          相关资源
          最近更新 更多