java项目和jar文件中的多个包

时间:2011-04-21 07:55:31

标签: java eclipse jar packages

我正在尝试为rabbitmq构建java客户端 我的源文件夹为A.mq.client 我还有一个libs文件夹,我有我的rabbitmq jar文件。这些罐已被添加到构建路径中。在Eclipse中一切正常。

然后我在eclipse中将整个项目导出为jar。 jar内容是.classpath,libs文件夹和我的包文件夹+其他东西。

现在我得到例外:

java.lang.ClassNotFoundException: com.rabbitmq.client.Consumer

com.rabbitmq.client.Consumer在lib jars中。

我正在使用java -cp rabbit.jar A.mq.client.Worker运行jar,我想在我的包中调用worker类的main方法,而Worker正在访问jar包。

2 个答案:

答案 0 :(得分:1)

据我所知,你通常不能将jar文件打包到另一个jar文件中。通常,在打包最终罐子之前,您必须扩展所有各种相关的罐子。如果你曾经使用过Maven,这就是maven-shade-plugin有助于实现自动化的目的。

有关详细信息,请参阅this question中的答案。

答案 1 :(得分:0)

CLASSPATH列出了找到类的位置 - 在目录或jar中,但不是

  • 目录目录
  • 罐子目录
  • jars of directories
  • 罐子里的罐子