Erreur lors du démarrage de Tomcat, version majeure / mineure non prise en charge, les variables d'environnement semblent correctes
Je vais avoir un problème lors du démarrage de Tomcat 7 à partir de la ligne de commande sur Linux, et le journal indique ceci:
Sep 24, 2012 8:54:10 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the jav
a.library.path: /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/lib/amd64/server:/usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/lib/amd64:/u
sr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/../lib/amd64:/usr/lib64/mpi/gcc/openmpi/lib64:/usr/java/packages/lib/amd64:/usr/lib64:/lib6
4:/lib:/usr/lib
Sep 24, 2012 8:54:10 AM org.apache.tomcat.util.digester.Digester startElement
SEVERE: Begin event threw error
java.lang.UnsupportedClassVersionError: pms/security/BCryptRealm : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:144)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:504)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.jav
a:1320)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScann
erImpl.java:2732)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:48
8)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
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(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
De googler je comprends le premier bit je peut les ignorer, mais je me demandais si c'est une indication de la version de Java il essaie de l'utiliser, car il arrête pas de dire que la version 6 de Java. Le "non pris en charge majeure.version mineure 51.0" je comprends signifie que j'ai un problème avec les versions de Java en quelque sorte.
J'ai intégré la classe c'est d'avoir des problèmes avec (un domaine personnalisé à utiliser BCrypt) à l'aide de la fourmi, et l'exécution de ant -v montre qu'il compile avec Java 7, qui est ce que je veux. J'ai mis JAVA_HOME et JDK_HOME à l'utilisation de Java 7 (ils sont tous reliés à la même place que ce que j'en dis).
Quoi d'autre ai-je raté? Si plus d'informations sont nécessaires laissez-moi savoir. J'ai vraiment apprécier toutes les pointeurs sur où je devrais regarder pour tout ce qui ne va pas. Merci.
ETA un peu plus d'infos par des questions dans les commentaires:
Je suis démarrage de tomcat via la ligne de commande. Je viens de faire ./bin/startup.sh à partir du tomcat répertoire de base. J'ai téléchargé tomcat à partir de l' Site web d'Apache. J'ai eu le cœur tar.gz version et déballé hier soir (je n'avais que la version 6 avant et je voulais mettre à niveau). Aussi ce n'est pas ma machine personnelle; je n'ai que les droits de l'utilisateur, si ce qui compte.
source d'informationauteur Maltiriel
Vous devez vous connecter pour publier un commentaire.
Ouvrir
tomcat/bin
répertoire et modifierJAVA_HOME
parmater danscatalina.sh
Je ne pense pas que les réponses fournies sont correctes. En fait, de grands.petite exception signifie que l'actuelle version de Java que vous avez installé ne correspond pas à l'exigence minimale. En particulier, dans votre message d'erreur indique que 51 (qui est le code interne de Java SE 7). Donc, pour résoudre le problème que vous avez réellement besoin d'installer Java 7.
Assurer la JRE_HOME est fixé à JRE1.6 (ou plus).
Aussi, juste un chat. Si vous avez deux installations de Tomcat (c'est à dire Tomcat8 aux côtés de Tomcat7), assurez-vous que votre CATALINA_HOME variable n'est pas définie à l'Tomcat8 du chemin. Comme ce sera aussi causer ce problème. (J'ai oublié les journaux dans un premier temps!)
Pour info, il est possible de désactiver CATALINA_HOME en utilisant:
J'ai été confrontée au même problème et a trouvé que j'ai été en utilisant Tomcat 8.5 avec la version de jdk 1.6 qui n'était pas compatible . Plus tard, j'ai installé la dernière version du JDK 1.8 et le problème a été résolu.Espérons que cela aide.