我收到此错误:
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中找到了一些信息。有办法解决这个问题吗?
我能想到的可能的解决方案是更改JVM(使用不应该有这个问题的JRockit),但我真的不知道这是否可以解决问题,是否可以破坏别的东西。
答案 0 :(得分:10)
更新以下原始答案中提到的错误现已关闭!
如您所引用的文章中所述,这是Sun / Oracle JVM实现中的bug。在撰写本文时,尚未解决。
我可以想出三种方法来解决这个问题:
答案 1 :(得分:2)
一项适用于我的工作是在tomcat/conf/web.xml
中添加以下条目:
<init-param>
<param-name>suppressSmap</param-name>
<param-value>true</param-value>
</init-param>
答案 2 :(得分:1)
如果您可以确定导致问题的类,您应该能够使用Stripper从该类中删除调试扩展信息,并且仍然可以调试其余类。
答案 3 :(得分:0)
我遇到了完全相同的错误。仅当我在调试模式下启动Tomcat时,以及某些JSP文件(大型)时,才会报告此错误。当我以正常模式启动Tomcat(不使用Debug)时,错误被清除。在JSP文件随着时间的推移增加之后,此错误最近开始显示。
我能够解决此错误的唯一方法是将Tomcat从版本5.5升级到版本7.0,将JRE升级到jdk1.7。
请参阅下面的快照,以帮助您了解相关信息。
另外,不要忘记添加Tomcat 7和新JRE所需的库。
最初,更新文件 <init-param>
<param-name>mappedfile</param-name>
<param-value>false</param-value>
</init-param>
以包含以下部分可以解决问题,但最近它已不再有效:
from selenium import webdriver
browser = webdriver.Chrome('/usr/local/bin/chromedriver')
browser.get('xxx')
browser.implicitly_wait(5)
button = browser.find_element_by_css_selector('#softGateBox > div.button_softgate > a')
button.click()
答案 4 :(得分:-1)
指向Jdk7并将Java堆大小增加到1024可解决此问题。
更新setDomainEnv.cmd以反映以下值。
JAVA内存参数:-Xms128m -Xmx3072m -XX:CompileThreshold = 8000 -XX:PermSize = 1024m -XX:MaxPermSize = 1024m 。 WLS启动模式=开发 。 CLASSPATH = C:\ Oracle \ MIDDLE〜1 \ patch_wls1035 \ profiles \ default \ sys_manifest_classpath \ weblogic_patch.jar; C:\ Oracle \ MIDDLE〜1 \ patch_oepe1050 \ profiles \ default \ sys_manifest_classpath \ weblogic_patch.jar; C:\ Oracle \ MIDDLE 〜1 \ patch_ocp360 \ profiles \ default \ sys_manifest_classpath \ weblogic_patch.jar; C:\ PROGRA〜1 \ Java \ JDK17〜1.0_4 \ lib \ tools.jar; C:\ Oracle \ MIDDLE〜1 \ WLSERV〜1.3 \ server \ lib \ weblogic_sp.jar; C:\ Oracle \ MIDDLE〜1 \ WLSERV〜1.3 \ server \ lib \ weblogic.jar; C:\ Oracle \ MIDDLE〜1 \ modules \ features \ weblogic.server.modules_10.3.5.0。 jar; C:\ Oracle \ MIDDLE〜1 \ WLSERV〜1.3 \ server \ lib \ webservices.jar; C:\ Oracle \ MIDDLE〜1 \ modules \ ORGAPA〜1.1 / lib / ant-all.jar; C:\ Oracle \ MIDDLE〜1 \ modules \ NETSFA〜1.0_1 / lib / ant-contrib.jar; C:\ Oracle \ MIDDLE〜1 \ WLSERV〜1.3 \ common \ derby \ lib \ derbyclient.jar; C:\ Oracle \ MIDDLE〜 1 \ WLSERV〜1.3 \ server \ lib \ xqrl.jar 。 PATH = C:\ Oracle \ MIDDLE〜1 \ patch_wls1035 \ profiles \ default \ native; C:\ Oracle \ MIDDLE〜1 \ patch_oepe1050 \ profiles \ default \ native; C:\ Oracle \ MIDDLE〜1 \ patch_ocp360 \ profiles \ default \ native; C:\ Oracle \ MIDDLE〜1 \ WLSERV〜1.3 \ server \ native \ win \ 32; C:\ Oracle \ MIDDLE〜1 \ WLSERV〜1.3 \ server \ bin; C:\ Oracle \ MIDDLE〜1 \ modules \ ORGAPA〜1.1 \ bin; C:\ PROGRA〜1 \ Java \ JDK17〜1.0_4 \ jre \ bin; C:\ PROGRA〜1 \ Java \ JDK17〜1.0_4 \ bin; C:\ Program Files(x86) \ Common Files \ Oracle \ Java \ javapath; C:\ ProgramData \ Oracle \ Java \ javapath; C:\ WINDOWS \ system32; C:\ WINDOWS; C:\ WINDOWS \ System32 \ Wbem; C:\ WINDOWS \ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files \ Cloud Foundry; C:\ Program Files \ PuTTY \; C:\ Program Files \ TortoiseGit \ bin; C:\ Program Files \ MySQL \ MySQL Utilities 1.6 \; C:\程序文件\ Git \ cmd; D:\ nodejs \; C:\ Program Files(x86)\ Webex \ Webex \ Applications; C:\ WINDOWS \ System32 \ OpenSSH \; C :\ Users \ 181443 \ AppData \ Roaming \ npm; C:\ Users \ 181443 \ AppData \ Local \ Microsoft \ WindowsApps; C:\ Users \ 181443 \ AppData \ Local \ Programs \ Microsoft VS Code \ bin ;; C:\ Oracle \ MIDDLE〜1 \ WLSERV〜1.3 \ server \ native \ win \ 32 \ oci920_8