我正在尝试使用一个名为LoggerAgent的javaagent来获取一些Java应用程序日志的详细信息。但是我得到了一个ClassNotDefinedException:
Exception in thread "main" java.lang.ClassNotFoundException: com.LoggerAgent
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:304)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
FATAL ERROR in native method: processing of -javaagent failed
Aborted有趣的是,如果我在同一个LoggerAgent类上运行javaagent (我有意在其中定义了一个主函数来测试这个函数),那么程序将正常工作。如果有必要,我在这里粘贴javaagent (命名为agent.jar)的清单文件:
Premain-Class: com.LoggerAgent
Class-Path: lib/javassist.jar
Agent-Class: com.LoggerAgent
Boot-Class-Path: agent.jar对这里出了什么问题有什么想法吗?
发布于 2015-08-02 12:02:22
比较主类的类路径(您有意编写的类)和获取异常的类路径。
清单中的类路径与可执行的JAR相对于您编写它的方式。
https://stackoverflow.com/questions/31771012
复制相似问题