Java 如何从Maven添加jms.jar和imq.jar?
我正在学习关于JMS的教程Java 如何从Maven添加jms.jar和imq.jar?,java,maven,jms,openmq,jms2,Java,Maven,Jms,Openmq,Jms2,我正在学习关于JMS的教程 package org.dedunu.jms.chapter02; import javax.jms.ConnectionFactory; import javax.jms.JMSContext; import javax.jms.Queue; public class JMS2Receiver { public static void main(String[] args) { ConnectionFactory connectionFa
package org.dedunu.jms.chapter02;
import javax.jms.ConnectionFactory;
import javax.jms.JMSContext;
import javax.jms.Queue;
public class JMS2Receiver {
public static void main(String[] args) {
ConnectionFactory connectionFactory = new com.sun.messaging.ConnectionFactory();
try(JMSContext jmsContext = connectionFactory.createContext();){
Queue queue = jmsContext.createQueue("TRADE");
String body = jmsContext.createConsumer(queue).receiveBody(String.class);
System.out.println(body);
}
}
}
Maven依赖项列表:
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-ra</artifactId>
<version>5.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>5.10.0</version>
</dependency>
<dependency>
<groupId>com.sun.messaging.mq</groupId>
<artifactId>imq</artifactId>
<version>4.6-b01</version>
</dependency>
</dependencies>
如果我从OpenMQ发行版中添加jms.jar和imq.jar,那么这个示例可以正常工作。但对于maven来说,情况并非如此。我认为这个问题应该是由Maven引起的。您真的想独立使用JMS 2.0吗?看看这篇文章:我只是想重做一下样本我和作者谈过,他告诉我OpenMQ 5.0或更高版本在maven存储库中不可用。谢谢,我读这篇文章
Exception in thread "main" java.lang.AbstractMethodError: com.sun.messaging.ConnectionFactory.createContext()Ljavax/jms/JMSContext;
at org.dedunu.jms.chapter02.JMS2Sender.main(JMS2Sender.java:10)