我正在设置arquillian测试。我想使用arquillian将JB部署到JBoss。这场战争在我的pom.xml中定义为依赖:
<dependency>
<groupId>my.project</groupId>
<artifactId>mywar</artifactId>
<version>1.0</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
但是当我尝试使用shrinkwrap恢复此依赖关系时,它会抛出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),它似乎解释了&#34;:war&#34;在坐标中作为版本 - 显然不会起作用。
如果我提供版本,它可以工作:
Maven.resolver().resolve("my.project:mywar:war:1.0").withoutTransitivity().asSingleFile();
但是我需要让它在没有版本的情况下工作,因为这会随着时间而改变,我不想在每个版本上调整版本。
有什么想法吗?
答案 0 :(得分:4)
由于你的工件不是JAR,我认为你必须添加一个问号。您的解析器应如下所示:.resolve("my.project:mywar:war:?")