gpt4 book ai didi

java - 为什么 Maven 解析器会导致管理依赖项错误?

转载 作者:行者123 更新时间:2023-12-01 18:16:41 24 4
gpt4 key购买 nike

我有一个项目和 2 个开发环境,1 个在 Windows 上,1 个在 Linux 上。
所以一切都可以在 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>

我使用 Arquillian 运行单元测试,部署方法从 POM 加载依赖项:

PomEquippedResolveStage pom = Maven.resolver().offline().loadPomFromFile("pom.xml");
WebArchive arch =
ShrinkWrap
.create(WebArchive.class, "test.war")
.....
.addAsLibraries(pom.importRuntimeDependencies().resolve().withTransitivity().asFile());

但是,loadPomFromFile 方法会抛出 InvalidConfigurationFileException :

[ERROR] Non-resolvable import POM: Failed to resolve POM for org.wildfly.bom:jboss-javaee-7.0-with-all:8.2.0.Final due to The repository system is offline but the artifact org.wildfly.bom:jboss-javaee-7.0-with-all:pom:8.2.0.Final is not available in the local repository. @ com.my.package:my.projet:0.0.1-SNAPSHOT, /home/workspace/My_projet/pom.xml

显然,所有管理依赖关系都没有解决,为什么?

最佳答案

错误消息表明 Maven 希望从某个地方下载依赖项,因为在本地存储库中找不到它。你还配置了Maven离线工作,所以没办法解决问题,失败了。

问题可能是您在测试中将 Maven 配置为在特殊的本地测试存储库中查找,而不是默认的 $HOME/.m2/repository/

要解决该问题,请确保 Maven 查找到您期望它查找的位置。

关于java - 为什么 Maven 解析器会导致管理依赖项错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29102720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com