与JMS

时间:2017-06-06 18:12:38

标签: java intellij-idea jms activemq openjms

我在设置JMS时遇到问题。我尝试使用Active MQ和OpenJMS但发生了同样的错误。我对如何解决它一无所知:

执行此操作时:

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Hashtable;

public class Main {
    public static void main(String[] args) throws NamingException {
        Hashtable properties = new Hashtable();

        properties.put(Context.INITIAL_CONTEXT_FACTORY,
            "org.exolab.jms.jndi.InitialContextFactory");
        properties.put(Context.PROVIDER_URL, "tcp://localhost:3035/");

        Context context = new InitialContext(properties);
    }
}

我收到此错误:

Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: org.exolab.jms.jndi.InitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.exolab.jms.jndi.InitialContextFactory]

经过一些谷歌搜索后,我认为问题是jar不在正确的类路径中,但所有答案都已经假定我知道哪个jar以及在哪里存储它,但这不是这里的情况。

他们在谈论哪个罐子?我在哪里可以得到它?我需要在哪里存储它?

我使用IntelliJ顺便说一句。你能指出我正确的方向吗?

ActiveMQ正在运行(http://localhost:8161/显示ActiveMQ的网页)

以下是我创建项目的步骤: 档案 - >新项目 - > Java - > SDK1.8 - >下一步 - >下一步 - >项目名称:测试 - >右键单击src文件夹 - >新 - > Java类 - >名称:主要 - >从上面粘贴代码 - >运行 - >错误

编辑:对于所有具有相同错误的人:OpenJMS附带一个libfolder。安装这些库,它应该工作

1 个答案:

答案 0 :(得分:0)

Here是一个很好的解释,说明如何在intellij中为您的项目添加外部jar,以及

  

他们在谈论哪个罐子?我在哪里可以得到它?

here是一个非常有用的网站,您可以使用标准作为类或包的名称来搜索jar文件。

我认为您需要的jar是Openjms,这是link下载它。