如何编译和运行具有activemq.jar依赖项的多个类?

时间:2020-06-22 18:37:59

标签: java eclipse activemq

我的目标是成功编译并运行Java代码,该Java代码由一个外部库(activemq)和多个外部Java类组成。这是我的文件夹结构的示例:

/ code / 客户端 /链接/到/文件/ 客户端

此文件夹仅包含我要编译和运行的Client.java

/ code / helper /链接/到/文件/ helper

该文件夹包含多个.java导入的client.java文件。

/jar_folder/activemq-all-5.15.13.jar

我在eclipse中将jar文件添加到我的项目的buildpath中。而且我没有在日食中看到任何警告或错误。当我点击“运行”按钮时,出现以下错误:

java.lang.NoClassDefFoundError: javax/jms/Destination

Eventhoug我只是从activemq.jar导入以下类:

import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;

由于过去两天没有找到解决问题的方法,所以我尝试通过控制台编译并运行代码-没有成功。

find -name "*.java" > sources.txt

javac -d bin/ -cp '/jar_folder/activemq-all-5.15.13.jar':. @sources.txt

它实际上编译了每个.java文件而没有错误,但是当我尝试使用以下命令运行客户端/类时:

java -cp '/jar_folder/activemq-all-5.15.13.jar':. Client

我收到以下错误:java.lang.NoClassDefFoundError: /link/to/file/client/Client (wrong name: Client)

有人可以帮我解决我的问题,因为我真的想测试我的代码。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

我相信您应该使用此命令来运行您的应用程序:

java -cp '/jar_folder/activemq-all-5.15.13.jar':./bin client/link/to/file/client/Client