尝试分析应用程序时重新定义失败,出现错误 62
Posted
技术标签:
【中文标题】尝试分析应用程序时重新定义失败,出现错误 62【英文标题】:Redefinition failed with error 62 while trying to profile an application 【发布时间】:2014-11-09 23:41:25 【问题描述】:如果我尝试在 VisualVM 的帮助下分析应用程序(在 Eclipse 下准备,但从命令行运行),我会收到以下错误消息
同时,项目文件夹被新创建的类文件弄脏了。尽管它们已经存在于target/classes
。
项目结构是Maven的,即当前目录下有一个文件夹target/classes
,我使用以下命令运行应用程序
java -Xmx16g -cp target/classes tests.Runner01
如何解决?
更新
传统的 java 项目也是如此。
在它下面是填充的类文件的图片,它位于不应出现的位置
【问题讨论】:
【参考方案1】:这里https://netbeans.org/bugzilla/show_bug.cgi?id=191297 出现了一种解决方法: 使用 -Xverify:none 运行已分析的应用程序
【讨论】:
正确的错误是这个:netbeans.org/bugzilla/show_bug.cgi?id=245522 和bugs.openjdk.java.net/browse/JDK-8050485。该问题已在 JDK 7u71 和 JDK 8u31 中修复。 我在使用 java 版本 "1.8.0_121" 时遇到了这个问题 @ezadeen 你解决了这个问题?我也一样。 1.8.0_131问题依然存在 还在1.8.0_162,放点盐【参考方案2】:根据这个GitHub issue,它已被修复。更新到version 1.4 为我解决了这个问题。
【讨论】:
感谢您指出这一点。今天遇到这个问题并更新了VisualVM。现在可以使用了。【参考方案3】:如果您使用的是 eclipse,请转到 Run/Debug 配置。 从左侧选择您的应用程序并点击Arguments。
在这里您将看到两个文本框。
1. Program Arguments
2. VM Arguments
在 VM 参数中,输入以下命令。 -Xverify:none
点击应用,然后点击运行/调试。
【讨论】:
【参考方案4】:我发现使用 IntelliJ 的解决方法是编译为 Java 1.6 字节代码。 执行此操作的菜单选项是:文件 - 项目结构,然后将项目语言级别设置为 6。
这使您无法使用仅适用于 Java 7 或 8 的 Java 功能。
【讨论】:
以上是关于尝试分析应用程序时重新定义失败,出现错误 62的主要内容,如果未能解决你的问题,请参考以下文章