我尝试运行tomcat时收到此错误:
“java.lang.UnsatisfiedLinkError:C:\ Program Files(x86)\ apache-tomcat-7.0.34 \ bin \ tcnative-1.dll:无法在IA 32位平台上加载AMD 64位.dll ” .
但是,我已经下载了64位JRE,并仔细检查了我的java版本:
C:\ Program Files(x86)\ apache-tomcat-7.0.34 \ bin> java -version java version“1.7.0_10”Java(TM)SE运行时环境(版本1.7.0_10-b18)Java HotSpot(TM) 64位服务器VM(内置23.6-b04,混合模式)
我以前在这里看过这个问题,但是其中一个没有解决方案,另一个是Eclipse问题,但是当我直接访问tomcat时,我收到了这个错误 .
如何找出正在检测哪个“IA 32位平台”,以及如何将Tomcat指向正确的方向?这也就是为什么我的servlet通过Eclipse得到这个404错误的原因?
类型状态报告消息/ JSPandServlet / Controller描述请求的资源不可用 .
日志:
C:\ Program Files(x86)\ apache-tomcat-7.0.34 \ bin> configtest.bat
使用CATALINA_BASE:“C:\ Program Files(x86)\ apache-tomcat-7.0.34”
使用CATALINA_HOME:“C:\ Program Files(x86)\ apache-tomcat-7.0.34”
使用CATALINA_TMPDIR:“C:\ Program Files(x86)\ apache-tomcat-7.0.34 \ temp”
使用JRE_HOME:“C:\ Program Files(x86)\ Java \ jre7”
使用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 ”
java.lang.UnsatisfiedLinkError: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)
2012年12月26日下午7:15:47 org.apache.catalina.core.AprLifecycleListener init
信息:在java.library.path中找不到基于APR的Apache Tomcat Native库,它允许在 生产环境 环境中实现最佳性能: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) \风ows Live \ Shared; C:\ Program Files \ TortoiseSVN \ bin; C:\ Program Files \ Microsoft \ Web Platform Installer ; C:\ Program Files \ SourceGear \ Common \ DiffMerge ; C:\ Ruby193 \ bin; .
2012年12月26日下午7:15:47 org.apache.coyote.AbstractProtocol init
信息:初始化ProtocolHandler [“http-bio-8080”]
2012年12月26日下午7:15:47 org.apache.coyote.AbstractProtocol init
信息:初始化ProtocolHandler [“ajp-bio-8009”]
2012年12月26日下午7:15:47 org.apache.catalina.startup.Catalina加载
信息:初始化在448毫秒内处理
6 回答
哦,伙计,我发现了问题 . 我在一个奇怪的地方有一个旧的JRE,JRE_HOME正在访问它 . 我删除了那个目录,修复了我的环境变量,并负责处理它 .
我刚刚找到了解决方案 . 问题是我的JRE_HOME指向32位JRE,我的机器是64位机器 . 我安装了64位JRE并将其替换为系统变量,服务器启动干净
请检查eclipse指向的默认版本 . Properties->Java Compiler . 将其切换到您安装的JRE版本 . 这对我有用 . 谢谢 .
请检查IDE使用的Project SDK版本 .
将其切换到安装的JDK x64版本 .
尝试在64位Windows机器上运行Jenkins从机时,同样的消息“无法在AMD 64位平台上加载IA 32位.dll”,通过删除指向32的JAVA_TOOL_OPTIONS和_JAVA_OPTIONS环境变量来修复它位jvmhook .
我遇到的一些类似消息的问题是我通过Linux机器上的swig创建了共享本机库(libmyLic.so),将其复制到Windows,并且尝试运行我的java测试 . 此测试应该使用System.loadLibrary或System.load界面 . 它不起作用,因为swig为UNIX环境创建了我的共享本机库(将C代码包装到java) . 当我将所有测试复制到Linux时,它解决了这个问题 .