我正在研究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>
我需要在运行测试用例时排除前两个依赖项,但除了测试时间之外它还可用。
怎么能实现这个目标?
非常感谢任何帮助。
答案 0 :(得分:0)
我相信您可以单独使用javaee-api
依赖项,因为您可以从中获取EJB API。您应该将其指定为具有provided
范围的依赖项,因为它不能用于编译测试之外的任何其他内容,并且在运行时由容器提供(在本例中为嵌入式GlassFish)。
如果你遇到javaee-api的问题,你可以尝试使用JBoss Java EE 6 APIs,因为它们不包含任何被剥离的方法体,它们通常是javaee-api
依赖性问题的根源