我正在设置 arquillian 测试。我想使用 arquillian 将 WAR 部署到 JBoss。这场战争在我的 pom.xml 中被定义为依赖项:
<dependency>
<groupId>my.project</groupId>
<artifactId>mywar</artifactId>
<version>1.0</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
但是当我尝试使用收缩包装来解决这种依赖关系时,它会抛出 NoResolvedResultException:
PomEquippedResolveStage resolver = Maven.configureResolver().workOffline().loadPomFromFile("pom.xml");
File war = resolver.resolve("my.project:mywar:war").withoutTransitivity().asSingleFile();
似乎解析器无法处理战争文件。我也用 org.jboss.shrinkwrap.resolver.api.ResolveWithRangeSupportStage.resolveVersionRange(String) 进行了测试,它似乎将坐标中的“:war”解释为版本 - 这显然不起作用。
如果我提供版本,它可以工作:
Maven.resolver().resolve("my.project:mywar:war:1.0").withoutTransitivity().asSingleFile();
但是我需要让它在没有版本的情况下工作,因为这会随着时间的推移而改变,我不想在每个版本上调整版本。
有任何想法吗?