Java maven集成测试阶段在类路径中附加jbossall-client.jar

Java maven集成测试阶段在类路径中附加jbossall-client.jar,java,maven,intellij-idea,Java,Maven,Intellij Idea,我正试图在java项目中使用maven设置集成测试阶段。我对jboss没有任何依赖性(除了JBossCommonCore,它由HibernateEntityManager临时拉入)。我的故障保护插件设置为: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <versio

我正试图在java项目中使用maven设置集成测试阶段。我对jboss没有任何依赖性(除了JBossCommonCore,它由HibernateEntityManager临时拉入)。我的故障保护插件设置为:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-failsafe-plugin</artifactId>
  <version>2.12</version>
    <executions>
      <execution>
        <phase>integration-test</phase>
        <goals>
          <goal>integration-test</goal>
          <goal>verify</goal>
        </goals>
       </execution>
    </executions>
 </plugin>
我得到以下错误:

Unable to parse configuration of mojo org.apache.maven.plugins:maven-failsafe-plugin:2.12:integration-test
 for parameter classpathDependencyExcludes: Cannot assign configuration entry 'classpathDependencyExcludes' 
with value 'org.jboss.client:jbossall-client' of type java.lang.String
 to property of type java.util.List -> [Help 1]
声明标记应该有值
groupId:artifactId
,这就是我所拥有的。你知道为什么会失败吗

第二次更新:刚刚意识到故障保护插件中有一个输入错误。在他们的例子中:

  <classpathDependencyExcludes>
    <classpathDependencyExcludes>org.apache.commons:commons-email</classpathDependencyExcludes>
  </classpathDependencyExcludes>

org.apache.commons:commons电子邮件
应该是

  <classpathDependencyExcludes>
    <classpathDependencyExclude>org.apache.commons:commons-email</classpathDependencyExclude>
  </classpathDependencyExcludes>

org.apache.commons:commons电子邮件

现在我可以通过解析错误,但jbossall客户端仍在加载到类路径中。

我已经找到了问题所在,classpathDependencyExclude标记按预期工作。我愚蠢地排除了错误的groupId(我排除了org.jboss.client:jbossall-client,而可传递依赖项是jboss:jbossall-client)。我观察到的另一件事是jbossall客户端是一个第三级可传递依赖项(即它是直接依赖项的第二个子项;myproject->a->B->jbossall客户端),它在maven子模块的父pom中定义(在我的示例中,B是一个较大项目的子模块)。当我使用依赖插件检查maven依赖时,它报告实际的项目依赖不包括jbossall客户端。然而,出于某种原因,集成测试阶段似乎将其包含在类路径中。我将进一步调查,但目前黑客的工作

  <classpathDependencyExcludes>
    <classpathDependencyExclude>org.apache.commons:commons-email</classpathDependencyExclude>
  </classpathDependencyExcludes>