未找到 java 代理类异常

标签 java command-line jar javaagents

我有一个目录结构“D:\workspace 2\project\lib”,其中包含所有文件“AgentMain.java”(我从 src 复制并放置在这里以使其更容易)、“asm-all .3.3.jar", "myagent.jar".现在,当我尝试从命令提示符调用我的 java 程序时

D:\workspace 2\project\lib>java -javaagent:myagent.jar -cp asm-all-3.3.jar;. AgentMain.java

它在线程主 java.lang.NoclassDefFoundError AgentMain/java 中给了我异常,并说找不到主类 AgentMain.java

这里有什么问题吗?

最佳答案

您正在尝试执行源文件 (AgentMain.java) 而不是类。确保您已使用 javac 编译 AgentMain,然后删除 .java 文件扩展名。

更新基于评论的讨论: 由于您的 AgentMain 类在编译类后定义在名为“main”的包中,因此其对应的类文件必须位于名为“main”的目录中。

因此,如果您使用包含的命令从“d:\workspace 2\project\lib”目录运行,编译的类需要位于 d:\workspace 2\project\lib\main\AgentMain 中。类

关于未找到 java 代理类异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8169597/

相关文章:

java - 使用 Java 的硬件详细信息

java - "Internal error: Unexpected failure when preparing tensor allocations"- Firebase MLKIT - Android - 本地模型加载失败

java - 在整数数组:recursion issue中查找整数元素

使用 nohup 执行 PHP

command-line - 如何从批处理脚本中运行批处理脚本?

Java Reader,文本文件的读取方法

java - 如何获取在远程 Windows 计算机上运行的 java 应用程序的所有线程的堆栈跟踪

apache-spark - 从 s3 将外部 jars 加载到 Zeppelin

java - 如何从 Jar 运行一个不在其 Manifest 文件中的 Main-Class 的类

java - ProGuard 警告 : there were 7 unresolved references to program class members