如何避免父母pom从maven依赖?

时间:2015-07-17 16:55:20

标签: java jar build maven-3 pom.xml

我的项目“XYZ”需要一个依赖jar,比如“A.jar”。

这个A.jar有一个父pom“B.pom”(不是jar),但这个父pom文件不存在于存储库中,因为它在A.jar发布期间没有上传。

现在,当我构建XYZ时,它会尝试下载父“B.pom”以及依赖项“A.jar”。它失败了。 有没有办法排除我的依赖“A.jar”的父pom?我正在使用Maven 3。

由于 罗布

1 个答案:

答案 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>