采用MANIFEST.MF之jar报错ClassNotFoundException解法


检查n多遍也试了n多次,证明下面是MANIFEST.MF文件正确写法:

Manifest-Version: 1.0

Premain-Class: cn.yandz.monitor.SizeOfObjectUtils 
Can-Redefine-Classes: true 
Class-Path: lib/json-lib-2.4-jdk15.jar lib/ojdbc14.jar lib/commons-beanutils-1.8.3.jar lib/commons-collections-3.2.1.jar lib/commons-lang-2.6.jar lib/commons-logging-1.1.3.jar lib/ezmorph-1.0.6.jar

 

然而通过java -javaagent:jagent.jar执行时一直报错:java.lang.ClassNotFoundException: net.sf.json.JSONObject

花费不少时间终于查明:把Class-Path: lib/xx.jar含义理解错了,其真正要求Class-Path引用的这些jar需要放到当前执行jar的目录下的lib目录中,而不是把他们打包进jar中的lib目录下。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM