java - टोमकैट को शुरू करने में त्रुटि, असमर्थित प्रमुख / लघु संस्करण, पर्यावरण चर हालांकि सही लगते हैं




linux ant tomcat7 (4)

tomcat/bin निर्देशिका खोलें और catalina.sh में JAVA_HOME पार्मेटर बदलें

मुझे लिनक्स पर कमांड लाइन से टॉमकेट 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)

Googling से मैं पहले बिट को समझ सकता हूँ कि मैं सिर्फ उपेक्षा कर सकता हूं, लेकिन मैं सोच रहा था कि जावा के संस्करण का यह प्रयोग करने का प्रयास कर रहा है, क्योंकि यह जावा 6 कह रहा है। "असमर्थित प्रमुख। मिनोर् संस्करण 51.0" मैं समझता हूं कि मेरा मतलब है किसी तरह जावा संस्करणों के साथ एक समस्या

मैंने क्लास का निर्माण किया है (एबीसी का उपयोग करने के लिए कस्टम क्षेत्र), चींटी का इस्तेमाल करते हुए और एटी-डी का चलन दिखाता है कि यह जावा 7 के साथ संकलन करता है, जो कि मैं चाहता हूं। मैंने जावा 7 का इस्तेमाल करने के लिए जावा (जेओडीएएचओएएमई) और जेडीकेएचएचओएमई (JDK_HOME) को भी सेट किया है (वे सभी एक ही स्थान पर जहां तक ​​बता सकते हैं)।

मैं और क्या भुल रहा हूं? यदि अधिक जानकारी की आवश्यकता है तो मुझे बताएं मैं वास्तव में किसी भी संकेत की सराहना करता हूं कि मुझे जो भी गलत हो रहा है उसके लिए मुझे देखना चाहिए। धन्यवाद।

ईटीए टिप्पणियों में प्रति सवाल थोड़ा और जानकारी: मैं कमांड लाइन के माध्यम से बिल्ला शुरू कर रहा हूँ मैं बस ./bin/startup.sh टॉमकेट बेस निर्देशिका से करता हूं। मैंने अपाचे वेबसाइट से टॉमकेट डाउनलोड किया है मुझे कोर tar.gz संस्करण मिला है और इसे कल रात को अनपैक किया गया था (मेरे पास संस्करण 6 था और उन्नयन करना चाहता था)। इसके अलावा यह मेरी निजी मशीन नहीं है; मेरे पास केवल उपयोगकर्ता के अधिकार हैं, यदि यह मामला है


सुनिश्चित करें कि JRE_HOME को JRE1.6 (या अधिक) पर सेट किया गया है।

इसके अलावा, सिर्फ एक पकड़ लिया यदि आपके पास टॉमकेट (यानी टोमकैट 8 के साथ टॉमकेट 7 के साथ) के दो इंस्टॉलेशन हैं, तो सुनिश्चित करें कि आपका कैटालिया_एचओएमई चर टोमैट 8 के पथ पर सेट नहीं है चूंकि यह भी इस समस्या का कारण होगा। (मैंने पहले लॉग को अनदेखा किया!)

C:\devtools\apache-tomcat-7.0.47\bin>set CATALINA_HOME=C:\devtools\apache-tomcat-8.0.0-RC5

C:\devtools\apache-tomcat-7.0.47\bin>configtest.bat
Using CATALINA_BASE:   "C:\devtools\apache-tomcat-8.0.0-RC5"
Using CATALINA_HOME:   "C:\devtools\apache-tomcat-8.0.0-RC5"
Using CATALINA_TMPDIR: "C:\devtools\apache-tomcat-8.0.0-RC5\temp"
Using JRE_HOME:        "C:\Progra~1\Java\jdk1.6.0_45\jre\"
Using CLASSPATH:       "C:\devtools\apache-tomcat-8.0.0-RC5\bin\bootstrap.jar;C:\devtools\apache-tomcat-8.0.0-RC5\bin\tomcat-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=

मुझे लगता है कि दिए गए उत्तर सही नहीं हैं I वास्तव में, प्रमुख। मिनास्ट अपवाद का मतलब है कि आपके द्वारा इंस्टॉल किया गया वर्तमान जावा संस्करण न्यूनतम आवश्यकता से मेल नहीं खाता है। विशेष रूप से, आपकी त्रुटि में 51 (जो जावा एसई 7 के लिए आंतरिक कोड है) कहते हैं इसलिए समस्या को ठीक करने के लिए आपको वास्तव में जावा 7 को स्थापित करने की आवश्यकता है।


ऐसा करने का एक तरीका है "पैकेज एक्सप्लोरर" में परिप्रेक्ष्य खोलना। ऐसा करने से आप कक्षा के विवरण के साथ अपने जार की संरचना देख सकते हैं। इसके लिए पैकेज एक्सप्लोरर का उपयोग करके अपने प्रोजेक्ट में लाइब्रेरी फ़ोल्डर की जांच करें।

खिड़की >> देखें दिखाएँ >> अन्य >> जावा >> पैकेज एक्सप्लोरर

एक और तरीका यह है कि आप एक ग्रहण प्लगइन के रूप में जारप्लग का उपयोग कर सकते हैं। यह ग्रहण / स्प्रिंगसोर्स में काम करता है

http://jar-plug.sourceforge.net/





java linux ant tomcat7