我在以下情况下收到此消息:
java.lang.ClassNotFoundException:agents.MemoryAgent
我已经按照此链接手动将一个 java 代理类捆绑到一个 jar 中。对于运行/调试配置,我复制了一个工作条目并添加了 VM 参数。
我已经尝试了这两种方法(常量参数是从复制的配置中继承的)
-javaagent:agent.jar -Xms256m -Xmx1024m -Djava.net.preferIPv4Stack=true
和
-javaagent:agent.jar -cp 。-Xms256m -Xmx1024m -Djava.net.preferIPv4Stack=true
注意: 此处使用假名类,存在真实类
我尝试将 agent.jar 文件放入上面指定的“工作目录”以及项目结构/设置对话框中指定的“项目编译器输出”目录。
我的 manifest.txt 文件的全部内容:
Premain-Class:agents.MemoryAgent
提取时在 META-INF\MANIFEST.MF 文件中产生:
清单版本:1.0 创建者:1.6.0 (Sun Microsystems Inc.) Premain-Class:agents.MemoryAgent
我已经验证了类的路径与 jar 和类文件中使用的路径匹配。
我在用着:
- java版本“1.7.0_25”
- Intellij12.1
为什么找不到类?
在屏幕截图中,一个名为“使用模块的类路径”的字段,但我在任何地方都找不到它的定义。这有关系吗?