如何在运行测试用例时排除maven依赖项

时间:2013-02-23 11:43:49

标签: java-ee glassfish ejb jboss-arquillian glassfish-embedded

我正在研究ejb3并使用arqullian进行测试。 我在pom.xml中有以下依赖

  <dependency>
        <groupId>org.glassfish.main.ejb</groupId>
        <artifactId>javax.ejb</artifactId>
    </dependency>

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
    </dependency>


    <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.jboss.arquillian.container</groupId>
        <artifactId>arquillian-glassfish-embedded-3.1</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.glassfish.main.extras</groupId>
        <artifactId>glassfish-embedded-all</artifactId>
        <version>3.1.2</version>
        <scope>test</scope>
    </dependency>

我需要在运行测试用例时排除前两个依赖项,但除了测试时间之外它还可用。

怎么能实现这个目标?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我相信您可以单独使用javaee-api依赖项,因为您可以从中获取EJB API。您应该将其指定为具有provided范围的依赖项,因为它不能用于编译测试之外的任何其他内容,并且在运行时由容器提供(在本例中为嵌入式GlassFish)。

如果你遇到javaee-api的问题,你可以尝试使用JBoss Java EE 6 APIs,因为它们不包含任何被剥离的方法体,它们通常是javaee-api依赖性问题的根源