2012-03-06 20 views
9

लिनक्स में, क्या जावा 7 का उपयोग करके लिखा गया वेब एप्लिकेशन टॉमकैट 6 पर तैनात किया जा सकता है? यदि हां, तो इसे कार्य करने की अनुमति देने के लिए किस कॉन्फ़िगरेशन को संशोधित करने की आवश्यकता है?टॉमकैट 6 और जावा 7

मैं tomcat6.conf फ़ाइल और पुनरारंभ में JAVA_HOME चर बदल रहा है की कोशिश की है, लेकिन यह अभी भी बिल्ला प्रबंधक वेबपेज के अनुसार 1.6 उपयोग कर रहा है, और केवल अनुप्रयोगों 1.6 में लिखा या निचले सही ढंग से तैनात।

मेरे पास jdk 1.6 और 1.7 दोनों अलग-अलग स्थानों में स्थापित हैं।

+1

सुनिश्चित नहीं हैं कि 'tomcat6.conf' फ़ाइल माना जाता है, मुझे लगता है कि कभी नहीं देखा है।आप यह जांचना चाहेंगे कि 'bin' निर्देशिका में 'setenv' बैच/खोल स्क्रिप्ट है जो JAVA_HOME चर –

+2

सेट करता है तो टोमकैट 6 आधिकारिक तौर पर जेडीके 7 का समर्थन नहीं करता है (और उन सभी त्रुटि रिपोर्टों को आधारित करता है जिन्हें मैं संदेह करता हूं कि आप चाहते हैं इसे इसके साथ भी काम करने की कोशिश करें)। या तो 1.6 संगतता मोड के साथ अपने एप्लिकेशन को संकलित करें या टॉमकैट 7 में अपग्रेड करें। – Perception

उत्तर

8

मैं जब मैं जावा JDK 1.7.0 का उपयोग कर मेरी सर्वलेट संकलित एक प्रमुख समस्या थी , टोमकैट रनटाइम manor.Major संस्करण त्रुटि के कारण शुरू नहीं होगा।

tomcat6 JDK 1.7 निम्न कार्य का उपयोग कर अपनी कक्षाओं को चलाने के लिए:

  1. ओपन मूल विशेषाधिकार के साथ फ़ाइल /etc/init.d/tomcat6

  2. आप एक चर JDK_DIRS बुलाया लाइन पर 83

  3. टिप्पणी इसे बाहर पंक्ति के आरंभ में # जोड़कर मिल जाएगा।

  4. लिखें bellow निम्नलिखित यह: JDK_DIRS="/usr/lib/jvm/java-1.7.0-openjdk-i386"

  5. सहेजें और पुनः आरंभ बिल्ला

3

मैंने इसी तरह की समस्या में भाग लिया है और ऐसा लगता है कि जेडीके 1.7 में टॉमकैट 6 के साथ पिछड़ा संगतता नहीं है। आपको इसे टॉमकैट 7 पर तैनात करने या जेडीके 1.6 का उपयोग करके पुनः संयोजित करने की आवश्यकता है।

+3

यह मेरे लिए असंभव लगता है। क्या आपके पास इसके साथ कुछ भी वापस है? – skaffman

+2

टॉमकैट 1.6 पर ठीक चलता है, लेकिन सवाल यह है कि सर्वलेट के उदाहरण लॉन्च करने के लिए टोमकैट संस्करण का उपयोग किया जाता है। टॉमकैट 6 स्वयं जावा 1.7 में लिखे गए सर्वलेट को नहीं चलाएगा। – Zero

+0

यह उत्तर * सबसे अच्छा जवाब नहीं होना चाहिए क्योंकि यह भ्रामक हो सकता है। जावा 7 टॉमकैट 6 पर चलता है। (बस @Zero क्या कह रहा है पर ध्यान दें) –

4

मैं GUI लॉगिन के लिए tomcat-users.xml को छोड़कर किसी भी कॉन्फ़िगरेशन फ़ाइलों को सेट किए बिना डिफ़ॉल्ट टॉमकैट इंस्टॉलेशन का उपयोग कर रहा हूं।

अपाचे टॉमकैट 6.0.35 और 6.0.16 प्रत्येक JVM 1.7.0_03-b05 (विंडोज + लिनक्स) पर चल रहे हैं।

JAVA_HOME को जेडीके फ़ोल्डर को इंगित करना होगा; उदाहरण के लिए:

C:\Program Files\Java\jdk1.7 (विंडोज़)

या

/usr/lib/jvm/java-6-sun (उबंटू, इस लिंक JDK स्थापना करने के लिए अंक)

+0

समस्या जावा 1.7 का उपयोग कर सीधे टोमकैट नहीं चल रही है, ठीक है। समस्या यह है कि, कौन सा संस्करण टोमकैट servlets लॉन्च करने के लिए उपयोग करता है। प्रश्न पूछता है कि अपने सर्वलेट लॉन्च करने के लिए जावा 1.7 का उपयोग करने के लिए टोमकैट कैसे प्राप्त करें, न कि आप जावा 1.7 पर टॉमकैट लॉन्च कर सकते हैं, जो स्पष्ट रूप से ठीक काम करता है। – Zero

1

मैंने पाया यह एक फर्क जो जावा 7 बिलाव 6. द्वारा

#JAVA_HOME=/usr/lib/jvm/java-7-openjdk ## Did not work 
JAVA_HOME=/usr/lib/jvm/java-7-oracle ## DID WORK 
इस्तेमाल किया गया था बनाया

"काम नहीं किया" द्वारा, मेरा विशेष अर्थ है, मेरे वेबपैप को बूट करने पर मुझेमिला। यह इंटरफ़ेस new with Java 7 है।

Caused by: java.lang.NoClassDefFoundError: java/lang/AutoCloseable 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:751) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144) 
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
    at org.springframework.util.ClassUtils.forName(ClassUtils.java:249) 
    at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1349) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1320) 
    ... 47 more 
Caused by: java.lang.ClassNotFoundException: java.lang.AutoCloseable 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
     ... 58 more 
संबंधित मुद्दे