我的项目“XYZ”需要一个依赖jar,比如“A.jar”。
这个A.jar有一个父pom“B.pom”(不是jar),但这个父pom文件不存在于存储库中,因为它在A.jar发布期间没有上传。
现在,当我构建XYZ时,它会尝试下载父“B.pom”以及依赖项“A.jar”。它失败了。 有没有办法排除我的依赖“A.jar”的父pom?我正在使用Maven 3。
由于 罗布
答案 0 :(得分:0)
您可以在pluginManagement部分
中定义父pom中的所有插件<pluginManagement>
<plugins>
...
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeTypes>tar.bz2</includeTypes>
<outputDirectory>${project.basedir}/target/dependencies</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
</pluginManagement>
在父母和子女之后你可以控制这个插件的执行阶段。如果你把它粘贴在父pom中,不要忘记选项<inherited>false</inherited>
,它禁用子pom中的执行继承。
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>