我正在尝试使用嵌入式ActiveMQ代理进行单元测试,如下所述:http://activemq.apache.org/how-to-unit-test-jms-code.html
我需要包含哪些Maven依赖项?目前我只有这些:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.5.0</version>
</dependency>
这就是我得到的:
java.lang.ClassFormatError: Absent Code attribute in method that
is not native or abstract in class file javax/jms/JMSException
尝试实例化代理时:
final BrokerService broker = new BrokerService();
我还应该在Maven依赖项列表中添加什么? (我不使用Spring)
答案 0 :(得分:7)
解决方案很简单,只需删除javax:javaee-api
依赖项。
答案 1 :(得分:4)
你可以尝试activemq-all
:
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.5.0</version>
</dependency>
答案 2 :(得分:3)
将javaee依赖项移动到类路径的末尾。这解决了我的问题。