时间:2021-05-20
我用的是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:\Users\Victor\Desktop下,则需在C:\Users\Victor\Desktop目录下新建一个lib文件夹,将相应的第三包放里面去。
前者是打包的jar包,后者是lib文件夹,里面放的是第三方jar包。
最后,MANIFEST.MF文件中的内容如下:
最后执行的结果如下:
以上内容给大家分享的Java在制作jar包时引用第三方jar包的方法,希望大家喜欢。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
该方式可以简单的导入第三方Jar包1,右击项目,单击export=》java=》选第三个,RunnableJarfile(可执行的jar文件),Next。2,选
引入第三方jar包或者查看Java源码的时候,经常遇到问题如下:decompiled.classfilebytecodeversion:52.0(java8),
在AndroidStudio项目中引用第三方jar包的方法:步骤:1、在build.gradle文件中添加如下代码:备注:要添加在Android作用域下sour
如果引用第三方jar包,肯定是不能直接使用常用注解@Controller、@Service、@Repository、@Component将类的实例注入到spri
部分情况下无法通过maven仓库直接下载需要的jar包,只能讲jar包下载至本地来使用,springboot框架内通过maven加载第三方jar包可以通过以下方