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