tcnative-1。dll不能在IA 32位平台上加載AMD 64位。dll。

[英]tcnative-1.dll Can't load AMD 64-bit .dll on a IA 32-bit platform


I'm getting this error when I try to run tomcat:

當我嘗試運行tomcat時,我得到了這個錯誤:

"java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\apache-tomcat-7.0.34\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform".

" . lang。如果:C:\Program Files (x86)\ apache-tomcat-7.0.34 \ bin \ tcnative-1。dll:不能在IA 32位平台上加載AMD 64位。dll。

However, I have the 64 bit JRE downloaded, and double-checked my java version:

但是,我下載了64位JRE,並仔細檢查了java版本:

C:\Program Files (x86)\apache-tomcat-7.0.34\bin>java -version

C:\Program Files (x86)\ apache-tomcat-7.0.34 \ bin > java - version

java version "1.7.0_10"

java版本“1.7.0_10”

Java(TM) SE Runtime Environment (build 1.7.0_10-b18)

Java(TM) SE運行時環境(構建1.7.0_10-b18)

Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

Java HotSpot(TM) 64位服務器VM(構建23.6-b04,混合模式)

I've seen this question here before, but in one there was no resolution, and in the other it was an Eclipse issue, but I'm getting this error when I access tomcat directly.

我以前在這里看到過這個問題,但是其中一個沒有解決方案,另一個問題是Eclipse問題,但是當我直接訪問tomcat時,我就得到了這個錯誤。

How do I find out which "IA 32 bit platform" is being detected, and how do I point Tomcat in the right direction? Also, could this be why my servlet is getting this 404 error through Eclipse?

我如何找到“IA 32位平台”被檢測到,以及我如何將Tomcat指向正確的方向?這也是為什么我的servlet在Eclipse中得到404錯誤的原因嗎?

type Status report

類型狀態報告

message /JSPandServlet/Controller

消息/ JSPandServlet /控制器

description The requested resource is not available.

描述請求的資源不可用。

Logs:

C:\Program Files (x86)\apache-tomcat-7.0.34\bin>configtest.bat

C:\Program Files (x86)\ apache-tomcat-7.0.34 \ bin > configtest.bat

Using CATALINA_BASE: "C:\Program Files (x86)\apache-tomcat-7.0.34"

使用CATALINA_BASE:“C:\程序文件(x86)\apache-tomcat-7.0.34”

Using CATALINA_HOME: "C:\Program Files (x86)\apache-tomcat-7.0.34"

使用CATALINA_HOME:“C:\程序文件(x86)\apache-tomcat-7.0.34”

Using CATALINA_TMPDIR: "C:\Program Files (x86)\apache-tomcat-7.0.34\temp"

使用CATALINA_TMPDIR:“C:\程序文件(x86)\apache-tomcat-7.0.34\temp”

Using JRE_HOME: "C:\Program Files (x86)\Java\jre7"

使用JRE_HOME:“C:\程序文件(x86)\Java\jre7”

Using CLASSPATH: "C:\Program Files (x86)\apache-tomcat-7.0.34\bin\bootstra p.jar;C:\Program Files (x86)\apache-tomcat-7.0.34\bin\tomcat-juli.jar"

使用類路徑:“C:\程序文件(x86)\apache-tomcat-7.0.34\bin\bootstra .jar;C:\程序文件(x86)\apache-tomcat-7.0.34\bin\tomcat-juli.jar”

java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\apache-tomcat-7.0.34\bin\ tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform

. lang。如果:C:\Program Files (x86)\ apache-tomcat-7.0.34 \ bin \ tcnative-1。dll:不能在IA 32位的平台上加載AMD 64位的。dll。

    at java.lang.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.<init>(Library.java:42)

    at org.apache.tomcat.jni.Library.initialize(Library.java:174)

    at 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.core.AprLifecycleListener.init(AprLifecycleListener.java:180)

    at org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:85)

    at org.apache.catalina.connector.Connector.setProtocol(Connector.java:595)

    at org.apache.catalina.connector.Connector.<init>(Connector.java:69)

    at org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:62)

    at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276)

    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.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

    at com.sun.org.apache.xerces.internal.parsers.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:1537)

    at org.apache.catalina.startup.Catalina.load(Catalina.java:610)

    at org.apache.catalina.startup.Catalina.load(Catalina.java:658)

    at 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:281)

    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)

Dec 26, 2012 7:15:47 PM org.apache.catalina.core.AprLifecycleListener init

2012年12月26日下午7:15:47。AprLifecycleListener init

INFO: The APR based Apache Tomcat Native library which allows optimal performanc e in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre7\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:\Program Files\Common Files\Microsoft Shared\Microsoft Online Services;C:\Program Files (x86)\Common Files\Microsoft Shared\Microsoft Online Services;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\PHP\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;c:\Program Files (x86)\Microsoft SQLServer\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\10 0\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\SourceGear\Common\DiffMerge\;C:\Ruby193\bin;.

INFO:基於APR的Apache Tomcat本地庫,在生產環境中不允許在java.library中找到最優的性能。路徑:C:\windows\系統32;C:\windows \電腦\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ - \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \。SQLServer\100\Tools\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ - \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \NET Web Pages\v1.0\;c:\程序文件(x86)\Microsoft SQL Server\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ !

Dec 26, 2012 7:15:47 PM org.apache.coyote.AbstractProtocol init

2012年12月26日下午7點15分47秒。AbstractProtocol init

INFO: Initializing ProtocolHandler ["http-bio-8080"]

信息:初始化ProtocolHandler(“http - bio - 8080”)

Dec 26, 2012 7:15:47 PM org.apache.coyote.AbstractProtocol init

2012年12月26日下午7點15分47秒。AbstractProtocol init

INFO: Initializing ProtocolHandler ["ajp-bio-8009"]

信息:初始化ProtocolHandler(“美國- bio - 8009”)

Dec 26, 2012 7:15:47 PM org.apache.catalina.startup.Catalina load

2012年12月26日下午7:15:47。卡特琳娜負載

INFO: Initialization processed in 448 ms

信息:初始化處理在448毫秒。

5 个解决方案

#1


19  

Oh man, I found the problem. I had an old JRE in a weird place which was being accessed by JRE_HOME. I removed that dir, fixed my environment variables, and that took care of it.

天啊,我發現問題了。我有一個舊的JRE在一個奇怪的地方,被JRE_HOME訪問。我刪除了那個dir,修復了我的環境變量,並處理了它。

#2


9  

I just found the solution. The problem was that my JRE_HOME pointed to a 32 bit JRE where in my machine was a 64 bit machine. I installed the 64 bit JRE and replaced it in the system variable and the server started clean

我找到了解決方法。問題是,我的JRE_HOME指向了一個32位JRE,在我的機器中有一個64位的機器。我安裝了64位JRE並將其替換為系統變量,服務器開始清理。

#3


4  

Please check your default version pointed by eclipse.Properties->Java Compiler. Switch it to your JRE version installed. This worked for me. Thanks.

請檢查您的默認版本的eclipse。屬性- > Java編譯器。將其切換到安裝的JRE版本。這為我工作。謝謝。

#4


1  

Please check your Project SDK version used by IDE.

請查看IDE所使用的項目SDK版本。

In Intellij IDEA:  File -> Project Structure -> Project.
In Eclipse:        Properties -> Java Compiler.

Switch it to JDK x64 version installed.

將其切換到安裝的JDK x64版本。

#5


0  

For the same message "Can't load IA 32-bit .dll on a AMD 64-bit platform" while trying to run a Jenkins slave on 64 bit windows machine, fixed it by removing JAVA_TOOL_OPTIONS and _JAVA_OPTIONS environment variables which were pointing to 32 bit jvmhook.

對於同樣的消息,“在64位windows機器上運行一個Jenkins的slave”時,“不能在一個AMD 64位的平台上加載IA 32位。dll”,通過刪除JAVA_TOOL_OPTIONS和_JAVA_OPTIONS環境變量來修復它,這些變量指向32位jvmhook。


注意!

本站翻译的文章,版权归属于本站,未经许可禁止转摘,转摘请注明本文地址:https://www.itdaan.com/blog/2012/12/27/72555e84a0677f6b6c26249b67e26d92.html



 
粤ICP备14056181号  © 2014-2021 ITdaan.com