我在设置 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。安装这些库,它应该可以工作