1

我在设置 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 类 - > 名称:Main -> 从上面粘贴代码 -> 运行 -> 错误

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

4

1 回答 1

0

是关于如何在 intellij 中将外部 jar 添加到您的项目的一个很好的解释,以及关于

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

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

我认为您需要的 jar 是Openjms,这是一个下载链接

于 2017-06-06T19:28:13.407 回答