检查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目录下。
时间: 2024-11-09 04:52:30