Tomcat没有以64bit java开头

时间:2011-05-02 20:18:40

标签: java tomcat 64-bit

我使用的是Windows 7,最近安装了Eclipse Helios(64位)。

我从Eclipse安装中控制了Tomcat7的本地安装,Eclipse和tomcat正确启动。但是,我在使用M2Eclipse插件时遇到了一些错误,并且意识到我使用的JDK不是64位,所以将我的JDK更新为64位。

不幸的是,由于将JDK更新为64位,我的tomcat将不再启动,而是在堆栈跟踪中出现以下错误:

02-May-2011 21:02:38 org.apache.catalina.startup.Bootstrap initClassLoaders
SEVERE: Class loader creation threw exception
java.lang.NoSuchFieldError: threadAllocatedMemorySupport
    at sun.management.VMManagementImpl.initOptionalSupportFields(Native Method)
    at sun.management.VMManagementImpl.<clinit>(VMManagementImpl.java:47)
    at sun.management.ManagementFactory.<clinit>(ManagementFactory.java:468)
    at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)
    at org.apache.catalina.startup.Bootstrap.createClassLoader(Bootstrap.java:184)
    at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:97)
    at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:208)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:406)

是否有其他人遇到此问题或知道问题可能是什么?

--------------- EDIT ------------------------

此外,我已经使用startup.bat启动了本地tomcat并且启动正常,但是当我尝试访问管理器时,我得到了一个java.lang.outOfMemoryError permgen Space错误(我之前没有得到 - 所有运行正常在jdk升级之前)

2 个答案:

答案 0 :(得分:1)

好的,我发现了问题

上述人员在调查正在使用的JDK版本方面是正确的。

发生了什么事,虽然我已经更新了Eclipse prefs以使用64bitJDK,但是JRE系统库仍然指向旧的JDK - 我之前从未遇到过这个问题,并且很确定我之前更新过JDK它也自动刷新了JRE库列表。然后,我从列表中删除了所有JRE系统库并刷新,然后使用64位jdk中的库重新填充

答案 1 :(得分:0)

可能安装了错误的tcnative?从bin目录中删除它,看看会发生什么