我使用copy-dependencies目标来复制当前工件的依赖项。 但它不会复制“提供”范围的依赖关系。 如何解决?
xml配置是标准配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>lib</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeArtifactIds>project-services</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<finalName>project-web</finalName>
</build>
为什么我要这样做? 因为我必须支持ant和maven构建工作。 因此,我想通过运行 mvn install -o 将所有依赖项复制到单独的目录中。在Ant build.xml中,我将该目录的路径包含为classpath。之后,Ant构建了ear文件并包含整个lib目录withoud system tools.jar和其他“提供的”jar。 Apache Maven的版本是3.0.3
答案 0 :(得分:1)
如插件所述,使用includeScope:
http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html#includeScope
修改强>:
为什么我要这样做?因为我必须支持蚂蚁和maven 建立工作。
考虑使用Ivy来管理Ant的依赖关系: http://ant.apache.org/ivy/
这里有一篇文章,您可以如何配置Ivy以连接到Nexus: