概述启动Tomcat时,出现错误,不受支持的主要/次要版本,但环境variables似乎是正确的
从linux上的命令行启动Tomcat 7时出现问题,日志显示如下:
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)
从谷歌search我明白,我可以忽略的第一个位,但我想知道是否这是指示的Java版本试图使用,因为它一直说Java 6.“不支持major.minor版本51.0”我明白意味着我有Java版本的问题莫名其妙。
我使用ant构build了它有问题的类(使用BCrypt的自定义域),运行ant -v显示它正在使用Java 7编译,这正是我想要的。 我已经设置了JAVA_HOME和JDK_HOME来使用Java 7(它们都指向相同的地方,据我所知)。
我还有什么遗漏? 如果需要更多信息,请告诉我。 我真的很感激任何指向哪里我应该寻找什么是错的。 谢谢。
从ant的sshexec传递密码到“su”命令
Build.xml提供了问题..“CreateProcess错误= 87,参数不正确”
我如何使用ant <exec>在linux上执行命令?
为什么ant忽略$ HOME / .ant / lib /
“ant”不被识别为内部或外部命令
ETA更多的信息在评论中的每个问题:我通过命令行启动tomcat。 我只是从tomcat的基本目录中执行./bin/startup.sh。 我从Apache网站下载了tomcat。 我得到了核心tar.gz版本,并在昨晚解压缩(我只有以前版本6,并想升级)。 这也不是我个人的机器; 我只有用户权利,如果有关系。
为什么windows 7上的Ant正在绑定文件pathstring?
Apache常春藤:本地常春藤caching和本地存储库之间的区别
如何在Unix Shell脚本中进行并行处理?
如何对绑定JavaFX应用程序时创build的可执行启动器进行代码签名?
具有外部jar的Java构build文件
打开tomcat/bin目录并更改catalina.sh JAVA_HOME parmater
我不认为给出的回答是正确的。 事实上,major.minor异常意味着您安装的当前Java版本不符合最低要求。 特别是,你的错误说51(这是Java SE 7的内部代码)。 所以要解决你实际需要安装Java 7的问题。
确保JRE_HOME被设置为JRE1.6(或更高)。
另外,只是一个陷阱。 如果您有两个Tomcat安装(即Tomcat8和Tomcat7),请确保您的CATAliNA_HOME变量未设置为Tomcat8的路径。 因为这也会导致这个问题。 (我首先忽略了原木!)
C:devtoolsapache-tomcat-7.0.47bin>set CATAliNA_HOME=C:devtoolsapache-tomcat-8.0.0-RC5 C:devtoolsapache-tomcat-7.0.47bin>configtest.bat Using CATAliNA_BASE: \”C:devtoolsapache-tomcat-8.0.0-RC5\” Using CATAliNA_HOME: \”C:devtoolsapache-tomcat-8.0.0-RC5\” Using CATAliNA_TMPDIR: \”C:devtoolsapache-tomcat-8.0.0-RC5temp\” Using JRE_HOME: \”C:Progra~1Javajdk1.6.0_45jre\” Using CLAsspATH: \”C:devtoolsapache-tomcat-8.0.0-RC5binbootstrap.jar;C:devtoolsapache-tomcat-8.0.0-RC5bintomcat-juli.jar\” Exception in thread \”main\” java.lang.UnsupportedClassversionError: org/apache/catalina/startup/bootstrap : Unsupported major.minor version 51.0 at java.lang.classLoader.defineClass1(Native Method) at java.lang.classLoader.defineClassCond(ClassLoader.java:631) at java.lang.classLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.urlclassloader.defineClass(urlclassloader.java:283) at java.net.urlclassloader.access$000(urlclassloader.java:58) at java.net.urlclassloader$1.run(urlclassloader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.urlclassloader.findClass(urlclassloader.java:190) at java.lang.classLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.classLoader.loadClass(ClassLoader.java:247) Could not find the main class: org.apache.catalina.startup.bootstrap. Program will exit.
Fyi,你可以用下面的方法取消设置CATAliNA_HOME:
set CATAliNA_HOME=
总结
以上是内存溢出为你收集整理的启动Tomcat时,出现错误,不受支持的主要/次要版本,但环境variables似乎是正确的全部内容,希望文章能够帮你解决启动Tomcat时,出现错误,不受支持的主要/次要版本,但环境variables似乎是正确的所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容