web-dev-qa-db-fra.com

tcnative-1.dll Impossible de charger le fichier .dll d'AMD 64 bits sur une plate-forme IA 32 bits

Je reçois cette erreur lorsque j'essaie d'exécuter Tomcat: 

"Java.lang.UnsatisfiedLinkError: C:\Fichiers de programme (x86)\Apache-Tomcat-7.0.34\bin\tcnative-1.dll: Impossible de charger le fichier .dll AMD 64 bits sur une plate-forme IA 32 bits" .

Cependant, j'ai téléchargé le JRE 64 bits et vérifié ma version de Java:

C:\Program Files (x86)\Apache-Tomcat-7.0.34\bin> Java - version

Version Java "1.7.0_10"

Environnement d'exécution Java SE (version 1.7.0_10-b18)

Serveur Java 64 bits Java HotSpot VM (version 23.6-b04, mode mixte)

J'ai déjà vu cette question ici auparavant, mais dans l'un, il n'y avait pas de solution, et dans l'autre, il s'agissait d'un problème Eclipse, mais je reçois cette erreur lorsque j'accède directement à Tomcat. 

Comment savoir quelle "plate-forme IA 32 bits" est détectée et comment orienter Tomcat dans la bonne direction? En outre, cela pourrait-il être la raison pour laquelle mon servlet reçoit cette erreur 404 via Eclipse?

type Rapport d'état

message/JSPandServlet/Controller

description La ressource demandée n'est pas disponible.

Journaux:

C:\Program Files (x86)\Apache-Tomcat-7.0.34\bin> configtest.bat

Utilisation de CATALINA_BASE: "C:\Program Files (x86)\Apache-Tomcat-7.0.34"

Utilisation de CATALINA_HOME: "C:\Program Files (x86)\Apache-Tomcat-7.0.34"

Utilisation de CATALINA_TMPDIR: "C:\Fichiers de programme (x86)\Apache-Tomcat-7.0.34\temp"

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

Utilisation de CLASSPATH: "C:\Fichiers de programme (x86)\Apache-Tomcat-7.0.34\bin\bootstra P.jar; C:\Fichiers de programme (x86)\Apache-Tomcat-7.0.34\bin\Tomcat-juli.jar "

Java.lang.UnsatisfiedLinkError: C:\Fichiers de programme (x86)\Apache-Tomcat-7.0.34\bin\ Tcnative-1.dll: impossible de charger le fichier .dll AMD 64 bits sur un agent IA 32 bits Plate-forme

    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)

26 décembre 2012 19:15:47 PM org.Apache.catalina.core.AprLifecycleListener init

INFORMATION: La bibliothèque native Apache Tomcat basée sur APR qui permet des performances optimales E n'a pas été trouvée dans les environnements de production Java.library.path: C:\Program Fichiers (x86)\Java\jre7\bin; C :\windows\sun\java\bin; c:\windows\system32; c:\windows; c:\fichiers de programme\fichiers communs\partage en ligne de Microsoft\services en ligne; C:\fichiers de programme (x86)\fichiers communs\Microsoft Shared\Services en ligne Microsoft; C:\Programmes communs\Fichiers communs\Microsoft partagés\Windows Live; C:\Fichiers de programmes (x86)\Fichiers communs\Microsoft partagés\Windows Live; C:\Programmes de fichiers (x86)\PHP \; C:\windows\system32; C:\windows; C:\windows\System32\Wbem; c:\Fichiers de programme (x86)\Microsoft SQLServer\100\Tools\Binn \; c:\Fichiers de programme\Microsoft SQL Serveur\100\Tools\Binn \; c:\Fichiers de programme\Microsoft SQL Server\100\DTS\Binn \; c:\Fichiers de programme (x86)\Microsoft Pages Web ASP.NET\ASP.NET\v1.0\; c:\Fichiers de programme (x86)\Microsoft SQL Server\10 0\Outils\Binn\VSShell\Common7\IDE \; c:\Fichiers de programme (x86)\Microsoft SQL Server\100\DTS\Binn\; C:\Program Files ( x86)\Windows Live\Partagé; C:\Programmes d'installation\TortoiseSVN\bin; C:\Programmes d'installation\Programme d'installation de la plate-forme Microsoft\Web \; C:\Fichiers de programme\SourceGear\Commun\DiffMerge \; C:\Ruby193\bin ;.

26 déc. 2012 19:15:47 PM org.Apache.coyote.AbstractProtocol init

INFO: initialisation de ProtocolHandler ["http-bio-8080"]

26 décembre 2012 19:15:47 PM org.Apache.coyote.AbstractProtocol init

INFO: initialisation de ProtocolHandler ["ajp-bio-8009"]

26 décembre 2012 19:15:47 PM org.Apache.catalina.startup.Catalina

INFO: initialisation traitée en 448 ms

29
cmdkennedy

Oh mec, j'ai trouvé le problème. J'avais un vieux JRE dans un endroit étrange auquel JRE_HOME avait accédé. J'ai enlevé ce répertoire, corrigé mes variables d'environnement, et cela a été réglé.

20
cmdkennedy

Je viens de trouver la solution. Le problème était que mon JRE_HOME indiquait un JRE 32 bits où, dans ma machine, il y avait une machine 64 bits. J'ai installé le JRE 64 bits et l'ai remplacé dans la variable système et le serveur a démarré en mode minimal

9
Komal Ahluwalia

Veuillez vérifier votre version par défaut indiquée par Eclipse. Propriétés-> Compilateur Java . Basculez-le sur votre version de JRE installée. Cela a fonctionné pour moi. Merci.

4
Anoop Velluva

Veuillez vérifier votre version de Project SDK utilisée par IDE. 

 Dans Intellij IDEA: Fichier -> Structure du projet -> Projet .
 Dans Eclipse: Propriétés -> Compilateur Java .

Basculez-le sur la version JDK x64 installée.

1
naXa

Pour le même message "Impossible de charger le fichier .dll IA 32 bits sur une plate-forme AMD 64 bits" En essayant d'exécuter un esclave Jenkins sur une machine Windows 64 bits, corrigez le problème en supprimant les variables d'environnement Java_TOOL_OPTIONS et _Java_OPTIONS pointant vers 32 bits jvmhook.

0
Anuroopa Shenoy

Le problème que j'ai rencontré avec un message similaire est que j'ai créé une bibliothèque native partagée via swig sur une machine Linux (libmyLic.so), que je l'ai copiée sous Windows et que j'essayais de lancer mon test Java. Ce test était censé utiliser l'interface System.loadLibrary ou System.load. Cela ne fonctionne pas, car swig a créé ma bibliothèque native partagée (encapsulant le code C++ dans Java) pour un environnement UNIX. quand j'ai copié tous les tests sous Linux, cela résout le problème. 

0
Irina T