使用Maven2,我如何指定应该复制依赖项的自定义目录?

时间:2010-05-10 14:22:09

标签: maven-2

基本上,我有一个由5个不同模块组成的多模块项目。其中一个模块是另一个4的父模块,意味着其他4个模块需要在5之前构建,所以你可以说4个模块中的每一个都是第5个模块的依赖项。因此,我为第5个模块的pom.xml中的每个模块创建了依赖项。

但是,当我构建项目时,我不希望将这4个依赖项复制到第5个模块的“lib”目录中。我想指定应该明确放置每个目录的目录。

有没有办法用Maven2做到这一点?

感谢您的帮助,

B.J。

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解了所有内容(此lib目录来自何处,您何时希望副本完全发生?)但Maven Dependency Plugin可能会有所帮助,{{3目标每个依赖项需要一个dependency:copy。取自outputDirectory页面的示例:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>[ groupId ]</groupId>
                  <artifactId>[ artifactId ]</artifactId>
                  <version>[ version ]</version>
                  <type>[ packaging ]</type>
                  <classifier> [classifier - optional] </classifier>
                  <overWrite>[ true or false ]</overWrite>
                  <outputDirectory>[ output directory ]</outputDirectory>
                  <destFileName>[ filename ]</destFileName>
                </artifactItem>
              </artifactItems>
              <!-- other configurations here -->
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

根据您的需要更改生命周期阶段绑定。

但正如我所说,这个答案更多的是暗示,也许使用Usage会更合适。如果没有帮助,请提供更多详细信息。