无法在intellij中执行javaagent - 为我的代理类获取ClassNotFoundException

时间:2013-07-18 19:33:22

标签: java intellij-idea classnotfoundexception instrumentation javaagents

我在以下情况中收到此消息:

  

java.lang.ClassNotFoundException:agents.MemoryAgent

我在this link之后手动将java代理类捆绑到jar中。 对于运行/调试配置,我复制了一个工作条目并添加了VM参数。

我已经尝试过这两种方法(常量参数从复制的配置中继承)

-javaagent:agent.jar -Xms256m -Xmx1024m -Djava.net.preferIPv4Stack = true

-javaagent:agent.jar -cp。 -Xms256m -Xmx1024m -Djava.net.preferIPv4Stack = true

注意:这里使用的假名类,真正的类存在 enter image description here

我已尝试将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

为什么不能找到班级?

在屏幕截图中,一个字段标题为“使用模块的类路径”,但我找不到任何定义的字段。这有关系吗?

1 个答案:

答案 0 :(得分:1)

IDEA将尝试在工作目录中找到您在-javaagent中指定的jar(在您的情况下为agent.jar)(如上面的屏幕所示)。将jar复制到你的工作目录"如上面的UI所示将解决问题。因此,对于您的情况,将agent.jar复制到" E:\ Autre \ Projects \ JetBrains"