使用shrinkwrap maven解析器解决依赖war文件

roe*_*ijn 6 shrinkwrap jboss-arquillian

我正在设置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>   
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用shrinkwrap恢复此依赖关系时,它会抛出NoResolvedResultException:

PomEquippedResolveStage resolver = Maven.configureResolver().workOffline().loadPomFromFile("pom.xml");  
File war = resolver.resolve("my.project:mywar:war").withoutTransitivity().asSingleFile();
Run Code Online (Sandbox Code Playgroud)

似乎某种程度上解析器无法处理战争文件.我也经历过org.jboss.shrinkwrap.resolver.api.ResolveWithRangeSupportStage.resolveVersionRange(String),它似乎将坐标中的":war"解释为版本 - 这显然不起作用.

如果我提供版本,它的工作原理:

Maven.resolver().resolve("my.project:mywar:war:1.0").withoutTransitivity().asSingleFile();
Run Code Online (Sandbox Code Playgroud)

但我需要让它在没有版本的情况下工作,因为这会随着时间而改变,我不想在每个版本上调整版本.

有任何想法吗?

Apo*_*dis 4

由于你的工件不是JAR,我认为你必须添加一个问号。您的解析器应如下所示:.resolve("my.project:mywar:war:?")