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

我用的是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包的方法,希望大家喜欢。

时间: 2024-09-24 07:21:13

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

关于在android源码编译时引用第三方jar宝--需要在android.mk中配置

今天进行android源码编译时出现一个问题,报错找不到文件,最后查看到那些找不到的问题全部都是第三方jar包里的引用文件,于是百度找解决办法.终于找到解决办法,现在分享给大家,我已经亲测通过了. 转自:http://www.cnblogs.com/hopetribe/archive/2012/04/23/2467060.html 开始正文: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_STATIC_JAVA_LIBRARIES

代码-请问一下,ant里面怎么引用第三方jar包啊?

问题描述 请问一下,ant里面怎么引用第三方jar包啊? 想帮测试弄个简单点的替换代码的方法的.结果就卡死了.忧郁~~ 报错提示如下: BUILD FAILED /home/noc/workspace/22/build.xml:39: The following error occurred while executing this line: /home/noc/workspace/22/build.xml:23: Problem: failed to create task or type

Eclipse 导出可执行Java工程/可执行Jar文件(包含第三方Jar包)_java

Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包) 师兄部署了新的虚拟机,新学期大搞起来!之前由于爬虫代码不稳定,所以一直都是直接用Eclipse运行,然后遇到问题就修改的.但是这个比较麻烦,而且Eclipse本身就很占内存啊,摔!所以今天下午就把之前的代码清减了一下,对很多挫挫的System.out.println替换了log4j,路径啊数据库连接呀用配置文件处理了,最后打成可执行的Jar,这样在新的虚机上就可以大展拳脚咯^_^Y Biu~废话说完,进入正题,将Jav

如何将maven配置成引用外部jar包,就是打成war包时不将jar打进去,而是引用外部地址

问题描述 如何将maven配置成引用外部jar包,就是打成war包时不将jar打进去,而是引用外部地址 打jar包已经解决了,如下: <configuration> <archive> <manifest> <mainClass>com.zb.app.MemberAppMain</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib/

运行jar应用程序引用其他jar包的四种方法(转)

Runnable JAR  RunnableJAR(1)在Eclipse中操作 上面的截图中eclipse的版本是:   方案二:安装Eclipse打包插件Fat Jar      方案一对于含有较多第三方jar文件或含有第三方图片资源等就显得不合适,太繁琐.这时可以使用一个打包的插件-Fat Jar.      Fat Jar Eclipse Plug-In是一个可以将Eclipse Java Project的所有资源打包进一个可执行jar文件的小工具,可以方便的完成各种打包任务,我们经常会来

[android]android工程引用第三方jar提示找不到相关class的解决方法

使用第三方jar包  步骤:  方法1:Eclipse下, 右键工程, Build path, java build path,选择libraries 在右边的按钮中点击"Add Library" 选择"User library",点击"下一步" 点击"User librarys"按钮 在出现的界面中点击"New.."按钮 在弹出的界面中随便起一个名字,点击"确定" 点击"Ad

android打包引用第三方jar出现的错误

今天终于完成了近一个月的App开发工作,对程序进行混淆导出签名apk包时,却出现了如下的错误:Proguard returned with error code 1. See consoleNote: there were 4 duplicate class definitions.Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull

Java读取properties配置文件时,出现中文乱码的解决方法_java

如下所示: public static String getConfig(String key) { Properties pros = new Properties(); String value = ""; try { pros.load(new InputStreamReader(Object.class.getResourceAsStream("/properties.properties"), "UTF-8")); value = pr

Java Map 按key排序和按Value排序的实现方法_java

一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法. HashMap的值是没有顺序的,它是按照key的HashCode来实现的,对于这个无序的HashMap我们要怎么来实现排序呢?参照TreeM