Java 为什么Maven解析器会导致管理依赖项错误?
我有一个项目和两个开发环境,一个在Windows上,一个在Linux上。Java 为什么Maven解析器会导致管理依赖项错误?,java,maven,jboss-arquillian,Java,Maven,Jboss Arquillian,我有一个项目和两个开发环境,一个在Windows上,一个在Linux上。 所以一切都可以在Windows上运行,但不能在Linux上运行 在我的POM中,我定义了管理依赖项,如下所示: <dependencyManagement> <dependencies> <dependency> <groupId>org.wildfly.bom</groupId>
所以一切都可以在Windows上运行,但不能在Linux上运行 在我的POM中,我定义了管理依赖项,如下所示:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>jboss-javaee-7.0-with-all</artifactId>
<version>${version.org.wildfly}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
......
</dependencyManagement>
但是,loadPomFromFile方法引发InvalidConfigurationFileException:
[错误]不可解析的导入POM:无法解析org.wildfly.bom:jboss-javaee-7.0-with-all:8.2.0.Final的POM,原因是
存储库系统处于脱机状态,但工件
bom:jboss-javaee-7.0-with-all:pom:8.2.0.Final不是
在本地存储库中提供@
com.my.package:my.projet:0.0.1-SNAPSHOT,
/home/workspace/My_projet/pom.xml
显然,所有的管理依赖项都没有得到解决,为什么?错误消息说Maven想从某个地方下载依赖项,因为它在您的本地repo中找不到。您还将Maven配置为脱机工作,因此它无法解决问题,因此失败 问题可能是您在测试中配置了Maven,以查看特殊的本地测试repo,而不是默认的
$HOME/.m2/repository/
要解决此问题,请确保Maven查看的位置与您期望的位置一致。错误消息表示Maven希望从某个位置下载依赖项,因为它在您的本地repo中找不到。您还将Maven配置为脱机工作,因此它无法解决问题,因此失败 问题可能是您在测试中配置了Maven,以查看特殊的本地测试repo,而不是默认的
$HOME/.m2/repository/
要解决此问题,请确保Maven的外观符合您的预期。您的linux环境是否在代理之后?是的,但也包括Windows!我已验证,这些依赖项在我的本地repository@Seb:Maven说它们不在您当地的回购协议中。确保您和Maven同意在哪些路径中搜索依赖项。您的linux环境是否在代理之后?是的,但也包括Windows!我已验证,这些依赖项在我的本地repository@Seb:Maven说它们不在您当地的回购协议中。确保您和Maven同意在哪些路径中搜索依赖项。
PomEquippedResolveStage pom = Maven.resolver().offline().loadPomFromFile("pom.xml");
WebArchive arch =
ShrinkWrap
.create(WebArchive.class, "test.war")
.....
.addAsLibraries(pom.importRuntimeDependencies().resolve().withTransitivity().asFile());