java项目导出为jar文件 运行jar文件会报错。 缺少我已经加好的包
buildpath都已经添加好了然后把项目导出成jar文件然后运行这个文件会提示缺少我刚才buildpath引用的包就是这个B样...
build path 都已经添加好了
然后把项目导出成jar文件
然后运行这个文件会提示缺少我刚才build path引用的包
就是这个B样 展开
然后把项目导出成jar文件
然后运行这个文件会提示缺少我刚才build path引用的包
就是这个B样 展开
5个回答
展开全部
你导出的jar包要用到其他jar包,那么你导出的jar包里有这样一个文件MANIFEST.MF,你有没有设置,它就是用来设置main类,和class_path的,在这里你要把需要的jar都写上,至于路径都是相对于你导出的这个jar包的相对位置。我给你一段示例:
***************************************************************************************
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 1.5.0_22-b03 (Sun Microsystems Inc.)
Main-Class: com.nari.syslog.server.Syslog4jServer
Class-Path: . lib/jna.jar lib/log4j-1.2.14.jar lib/commons-pool.jar li
b/joda-time-2.1.jar lib/syslog4j-0.9.46-bin.jar lib/h2-1.3.159.jar li
b/CollectRmiServerC.jar lib/quartz-all-1.6.4.jar lib/activemq-all-5.3
.2.jar lib/commons-collections-3.2.jar lib/dom4j-1.6.1.jar lib/jaxen-
1.1-beta-7.jar
***************************************************************************************
看到 lib/XX.jar形式了么,至于这个lib就是和导出的jar包同级目录下面的一个文件夹,然后将所需要的其他jar包都放到lib文件夹下,再运行该导出jar文件,就会找到所引用的jar包了,搞熟练了就没什么了,这些都可以借用MyEclipse的导入导出功能,这些配置性的东西都会自动生成,没必要记。
你可以继续追问,不行的话,再call我,今天上班没事干
***************************************************************************************
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 1.5.0_22-b03 (Sun Microsystems Inc.)
Main-Class: com.nari.syslog.server.Syslog4jServer
Class-Path: . lib/jna.jar lib/log4j-1.2.14.jar lib/commons-pool.jar li
b/joda-time-2.1.jar lib/syslog4j-0.9.46-bin.jar lib/h2-1.3.159.jar li
b/CollectRmiServerC.jar lib/quartz-all-1.6.4.jar lib/activemq-all-5.3
.2.jar lib/commons-collections-3.2.jar lib/dom4j-1.6.1.jar lib/jaxen-
1.1-beta-7.jar
***************************************************************************************
看到 lib/XX.jar形式了么,至于这个lib就是和导出的jar包同级目录下面的一个文件夹,然后将所需要的其他jar包都放到lib文件夹下,再运行该导出jar文件,就会找到所引用的jar包了,搞熟练了就没什么了,这些都可以借用MyEclipse的导入导出功能,这些配置性的东西都会自动生成,没必要记。
你可以继续追问,不行的话,再call我,今天上班没事干
追问
这个.mf文件在我生成的jar文件里。 但是我无法再打开这个文件修改它
刚你说的。可以再导出时Exlipse自动加入jar。。 这个怎么弄?
在哪一步 叫什么??
追答
1.右键此jar文件--打开方式--winrar--将里面的manifest.mf解压到桌面--记事本方式打开并编辑它--编辑好以后保存--用鼠标直接将其拖入解压时的winrar的界面里--提示是否替换--确定即可。
2.用myeclipse导出。我给你贴图吧。
我默认都保存到桌面上啊,**.jar你自定义导出的jar的名字;
至于最后一张图片中build.xml点击browse浏览,选桌面,保存到桌面,点击完成,之后你将发现桌面上多出两个文件,一个文件夹,其中一个是**.jar,另个是build.xml,还有一个同名文件夹,里面都是第三方jar包。
最后,这个build.xml是ant工具的配置文件,你把它研究一下,然后考到项目里面,右键运行,就会重复以上操作,等于是利用ant来打包,很是方便。
展开全部
这是因为生成jar文件的位置没有找到对应的jar包。
可能解决办法一:
第一步:在生成jar的位置,创建一个文件夹,名称为lib;
第二步:将所有的依赖jar放到lib下,之后再运行即可。
可能解决办法二:
第一步:将所有的依赖jar放到jar包同级路径下,之后再运行即可。
备注:以上两种方式肯定能够解决问题,并且方法二的可能性比较大。
可能解决办法一:
第一步:在生成jar的位置,创建一个文件夹,名称为lib;
第二步:将所有的依赖jar放到lib下,之后再运行即可。
可能解决办法二:
第一步:将所有的依赖jar放到jar包同级路径下,之后再运行即可。
备注:以上两种方式肯定能够解决问题,并且方法二的可能性比较大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
classpath设置的有问题,jxl的jar包没有找到 。你写的这种执行jar的方式,java -jar TestCase.jar
必须在jar中META-INF目录下的MATNIFEST.MF文件中加入
Main-Class: ly.A 替换为你的主类
Class-Path: lib/snmp6_0.jar lib/grammatica-1.5.jar lib/commons-dbcp.ja
r lib/commons-dbutils-1.4.jar lib/commons-pool.jar lib/h2-1.3.159.jar
lib/log4j-1.2.15.jar 替换为你所引用的所有jar包
必须在jar中META-INF目录下的MATNIFEST.MF文件中加入
Main-Class: ly.A 替换为你的主类
Class-Path: lib/snmp6_0.jar lib/grammatica-1.5.jar lib/commons-dbcp.ja
r lib/commons-dbutils-1.4.jar lib/commons-pool.jar lib/h2-1.3.159.jar
lib/log4j-1.2.15.jar 替换为你所引用的所有jar包
追问
怎么讲?
怎么调?
追答
你就改下MATNIFEST.MF文件就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在项目中引用的包最好是把包拷贝到项目中的一个位置,然后引用,或是直接把引用的包拷贝到lib下,这样你再重新打包试试
追问
我用的包 就在工程的lib包下面。 导入也是从这里到的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询