如何使用maven uber pom与依赖关系?
我有一个简单的maven插件,而这又取决于父pom文件。 父pom文件有10个(第10个)第三方jar依赖项,这些依赖项已使用以下命令安装在本地repo中。
mvn install:install-file -Dfile=foo.jar -DgroupId=com.foo.bar -DartifactId=foo1.jar -Dversion=1.1.0.0 -Dpackaging=jar
同样,我已将所有其他9个罐装到我的本地仓库。 这是uber pom.xml文件。
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo.bar</groupId>
<artifactId>maven-uber-pom</artifactId>
<packaging>pom</packaging>
<version>1.1.0.0</version>
<name>maven-uber-pom</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>foo1.jar</artifactId>
<version>1.0.0.0</version>
</dependency>
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>foo2.jar</artifactId>
<version>1.0.0.0</version>
</dependency>
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>foo3.jar</artifactId>
<version>1.0.0.0</version>
</dependency>
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>foo4.jar</artifactId>
<version>1.0.0.0</version>
</dependency>
:
:
</dependencies>
我想通过以下方式在我的插件的pom.xml文件中引用这个超级pom:
<project>
<parent>
<groupId>com.foo.bar</groupId>
<artifactId>maven-uber-pom</artifactId>
<version>1.1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo.bar</groupId>
<artifactId>foo-maven-plugin</artifactId>
<packaging>maven-plugin</packaging>
<version>1.1.0.0</version>
<name>foo bar plugin</name>
<url>http://maven.apache.org</url>
</project>
在此之后,我尝试使用pom.xml文件安装我的插件
mvn install <command>
Maven试图从中央仓库http://repo1.maven.org/maven2下载第三方工件依赖项,随后失败。 因为在中央回购中没有可以找到这种协调的人为因素。
因为我很绝望,所以我也尝试使用uber-pom作为插件依赖项。 有任何想法吗?
默认情况下,Maven将首先在本地存储库中搜索依赖项。 如果找不到,它会搜索您的全局/自定义存储库(默认情况下仅设置中央存储库)。 你在uberpom上运行mvn install
吗? 如果是这样,请检查您的本地仓库中的路径是否正确。
我不确定你是否忘记适应你的例子,但是“uberpom”定义的com.foo.bar
作为groupId,并且你的插件的用法有com.oracle.weblogic.test
。 这可能是一个错字。 我也假设你所有的第三方依赖都被正确安装(检查他们的pom)。
只是为了它,请检查<localRepository>
是否已设置。 通常情况下,你不必设置它,但可以尝试一下。
我不是专家,但我希望它有帮助!
父POM中的groupId和父POM的引用中的groupId不匹配。 groupId,artifactId和version必须完全匹配,以便Maven找到父级。
尝试“mvn install -o”强制脱机模式。 可能会指出问题所在。
当你运行install-file命令时,你是否指定了生成pom并生成校验和?
手动检查你的Maven回购的罐子,看看他们是否正确安装。
链接地址: http://www.djcxy.com/p/29659.html上一篇: How to use maven uber pom with dependencies?
下一篇: Including all the jars in a directory within the Java classpath