【问题标题】:Tomcat7tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platformTomcat7tcnative-1.dll:无法在 AMD 64 位平台上加载 IA 32 位 .dll
【发布时间】:2015-10-16 15:31:32
【问题描述】:

我在tcnative-1.dll Can't load AMD 64-bit .dll on a IA 32-bit platform 下方的这篇文章中也遇到了同样的问题,但情况正好相反 在运行 Tomcat-7.0.47 时,下面是我的详细信息和日志。我试图按照上面发布的所有内容都没有运气...请帮助我!

我还下载了 64 位 JRE,并仔细检查了我的 java 版本

C:\Users\franklu>java -version java version "1.7.0_55" Java(TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03) , 混合模式)

仔细检查了我的系统变量

JAVA_HOME 指向C:\Program Files\Java\jdk1.7.0_55 JRE_HOME 指向C:\Program Files\Java\jre7

我已经仔细检查了安装在控制面板\所有控制面板项\程序和功能下的 java

我已经仔细检查了 Java 7 update 55(64-bit) java SE Development Kit 7 Update 55(64-bit)

我已经仔细检查了属性--->java 编译器及其指向 JavaSE-1.7

以下是我的日志....尝试启动 Tomcat-7.0.47 时会发生这种情况。请帮助....我已经尝试 google 近 3 小时,我的头快要爆炸或指向任何材料...我已经准备好不惜一切代价加倍努力...

java.lang.UnsatisfiedLinkError: C:\Application\Tomcat-7.0.47\bin\tcnative-1.dll: 无法在 java.lang 的 AMD 64 位平台上加载 IA 32 位 .dll。 ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(Unknown Source) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang。 Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at org.apache.tomcat.jni.Library.(Library.java:42) at org.apache.tomcat.jni.Library.initialize( Library.java:174) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 在 java.lang.reflect.Method .invoke(Unknown Source) at org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:164) at org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:81) at org.apac he.catalina.connector.Connector.setProtocol(Connector.java:541) at org.apache.catalina.connector.Connector.(Connector.java:71) at org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java :62) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source) at com.sun .org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) at com.sun.org.apache.xerces .internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl .XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org。 com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) 上 com.sun.org.apache.xerces.internal 上的 apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)。 parser.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.tomcat.util.digester.Digester.parse(Digester. java:1543) 在 org.apache.catalina.startup.Catalina.load(Catalina.java:554) 在 org.apache.catalina.startup.Catalina.load(Catalina.java:595) 在 sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup .Bootstrap.load(Bootstrap.java:262) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:430) Oct 15, 2015 5:13:31 PM org.apache.catalina.core.AprLifecycleListener init

【问题讨论】:

  • 您正在尝试将 32 位库加载到 64 位系统中。这行不通!
  • 谢谢..我现在已经修复了,我所做的是我下载了一个新的 Tomcat 7。我仍然不确定为什么 Tomcat 7 64 位上的 32 位库位......??但是一旦我重新安装了新的 Tomcat 7,我的启动器就干净了

标签: java apache tomcat jakarta-ee


【解决方案1】:

我遇到了同样的问题。问题是我使用64位java。将 JAVA_HOME 和 JRE_HOME 更改为指向 32 位 java 修复了问题

【讨论】:

    【解决方案2】:

    我在我的机器上遇到了同样的问题,您的 TOMCAT 是 64 位,而它使用的是 32 位的 JAVA。一旦你得到这个,你需要检查以下内容:

    1. 获取你的 Tomcat 并检查它是 32 位还是 64 位(这里是 64 位)
    2. 检查tomcat使用的是什么java_home
    3. 获得正确的 jdk 后,请检查 java 是 32 位还是 64 位。

    打开 cmd 并点击以下命令:

    java -d64 -version
    

    如果这告诉您正确的 java 版本,则安装的 java 是 64,否则是 32。请获取 64 版本的 java,并在环境变量或 catalina.bat 文件中指向与 JAVA_HOME 相同的位置。

    希望这能解决您的问题。

    【讨论】:

      【解决方案3】:

      我有同样的问题, 我下载了一个 32 位的 tomcat 并将其添加到我的 Intellij 中,现在它可以正常工作了。

      【讨论】:

        猜你喜欢
        • 2012-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多