我收到此错误:
java.lang.InternalError: name is too long to represent
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
这似乎与一些调试功能有关(实际上删除-Xdebug
命令行选项错误消失)。我还找到了一些信息ASF Bugzilla https://issues.apache.org/bugzilla/show_bug.cgi?id=39089。有办法解决这个问题吗?
我能想到的可能的解决方案是更改 JVM(使用 JRockit ,它不应该有这个问题),但我真的不知道这是否可以解决问题以及是否可以破坏其他东西。
update下面原始答案中提到的错误现已关闭!
正如您引用的文章中所述,这是一个bug https://bugs.java.com/bugdatabase/view_bug?bug_id=6294277在 Sun/Oracle JVM 实现中。在撰写本文时,该问题尚未解决。
我可以想到三种方法来解决这个问题:
- 根本不生成 SMAP 文件(例如:不使用 -Xdebug 运行或使用类似suppressSmap 的设置)
- 尝试确保调试信息的大小很小(例如:减少代码的大小)
- 使用不同的虚拟机实现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)