手机
当前位置:查字典教程网 >编程开发 >Java >Java在制作jar包时引用第三方jar包的方法
Java在制作jar包时引用第三方jar包的方法
摘要:我用的是Eclipse打包,但在CMD窗口执行的时候报“ActiveMQ.jar中没有主清单属性”错误。在网上搜了下,这个与MANIFEST...

我用的是Eclipse打包,但在CMD窗口执行的时候报“ActiveMQ.jar中没有主清单属性”错误。

在网上搜了下,这个与MANIFEST.MF文件有关,该文件没有定义MAIN方法所在类的路径,利用好压打开jar包,果然如此。里面只有一行

Manifest-Version: 1.0

需添加Main-Class。在本例中,添加如下:

Main-Class: com.luoluo.TestUse.activemq.ActiveMQStateMain

上面,有几点需要注意:

1. Main-Class:和com.luoluo.TestUse.activemq.ActiveMQStateMain中间必须有个空格,切记。

2. com.luoluo.TestUse.activemq是该类的包名,ActiveMQStateMain是main方法所在的类名,注意:后面不用加上.java或.class。

3. 如果不引用第三方包,需回车让光标到下一行。不然还是会报“ActiveMQ.jar中没有主清单属性”错误。如果引用了第三方包,在Class-Path后面回车,总之,在指定了相关的参数后,均需要回车让光标到下一行。

上面的只是定义了主类,如果引用了第三方包,则会报以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/activemq/broker/jmx/BrokerViewMBean

这时,需在MANIFEST.MF文件中定义Class-Path。在本例中,添加如下:

Class-Path: lib/activemq-all-5.12.1.jar

注意:Class-Path和lib/activemq-all-5.12.1.jar之间也同样需要个空格。

同时,在jar包的同层目录下,新建一个lib文件夹,将activemq-all-5.12.1.jar copy到里面去。

譬如,在本例中,jar包是在C:UsersVictorDesktop下,则需在C:UsersVictorDesktop目录下新建一个lib文件夹,将相应的第三包放里面去。

Java在制作jar包时引用第三方jar包的方法1

前者是打包的jar包,后者是lib文件夹,里面放的是第三方jar包。

最后,MANIFEST.MF文件中的内容如下:

Java在制作jar包时引用第三方jar包的方法2

最后执行的结果如下:

Java在制作jar包时引用第三方jar包的方法3

以上内容给大家分享的Java在制作jar包时引用第三方jar包的方法,希望大家喜欢。

【Java在制作jar包时引用第三方jar包的方法】相关文章:

Java中去除字符串中所有空格的几种方法

Java调用DOS实现定时关机的实例

java 全角半角字符转换的方法实例

找出链表倒数第n个节点元素的二个方法

java获取日期的方法

Java程序执行时间的2种简单方法

java从list中取出对象并获得其属性值的方法

java中Filter过滤器处理中文乱码的方法

java正则表达式提取数字的方法实例

Java字符判断的小例子

精品推荐
分类导航