2008-09-16 11 views
56

(ग्रहण 3.4, गैनीमेड)ग्रहण - मैं टॉमकैट 6 से टॉमकैट 5.5 तक 'प्रोजेक्ट फैकेट' कैसे बदल सकता हूं?

मेरे पास एक्लिप्स में एक मौजूदा गतिशील वेब अनुप्रयोग प्रोजेक्ट है। जब मैंने प्रोजेक्ट बनाया, तो मैंने 'कॉन्फ़िगरेशन' ड्रॉप डाउन के तहत 'अपाचे टॉमकैट v6' के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन निर्दिष्ट किया।

यह लाइन के नीचे एक महीने या 2 है, और अब मैं कॉन्फ़िगरेशन को टॉमकैट 'v5.5' में बदलना चाहता हूं। (यह उत्पादन सर्वर पर बिलाव के संस्करण होगा।)

मैं निम्नलिखित कदम (सफलता के बिना) की कोशिश की है:

  • मैं परियोजना के तहत Targeted Runtimes चयनित Properties
    Tomcat v5.5 विकल्प अक्षम था और यूआई ने यह संदेश प्रदर्शित किया:
    If the runtime you want to select is not displayed or is disabled you may need to uninstall one or more of the currently installed project facets.
  • मैंने फिर Uninstall Facets... लिंक पर क्लिक किया।
    Runtimes टैब के तहत, केवल Tomcat 6 प्रदर्शित किया गया।
    Dynamic Web Module के लिए, मैंने के स्थान पर संस्करण 2.4 का चयन किया।
    Runtimes टैब के तहत, Tomcat 5.5 अब प्रदर्शित किया गया। - तो मैं एक अंत में मृत्यु पर पहुंच गया
    Cannot change version of project facet Dynamic Web Module to 2.4.
    Finish बटन अक्षम था:
    हालांकि, यूआई अब इस संदेश का प्रदर्शन किया।

मैं सफलतापूर्वक टॉमकैट v5.5 कॉन्फ़िगरेशन के साथ एक नई परियोजना बना सकता हूं। किसी कारण से, हालांकि, यह मुझे एक मौजूदा परियोजना को डाउनग्रेड करने नहीं देगा।

काम के आसपास के रूप में, मैंने एक नई परियोजना बनाई और पुरानी परियोजना से स्रोत फ़ाइलों की प्रतिलिपि बनाई। फिर भी, काम-आसपास काफी दर्दनाक था और कुछ हद तक बेकार था।

क्या कोई यह समझा सकता है कि मैं 'टॉमकैट 6' से 'टॉमकैट 5' तक परियोजना कॉन्फ़िगरेशन को कैसे डाउनग्रेड कर सकता हूं? या शायद यह क्यों हुआ कुछ प्रकाश डाला?

धन्यवाद
पीट

उत्तर

87

इस तरह के ग्रहण हैकिंग जाता है और यदि आप ऐसा करने मुसीबत में पड़ सकते हैं लेकिन यह काम करना चाहिए: नाविक दृश्य

ओपन और के तहत एक .settings फ़ोल्डर है कि वहाँ अपने प्रोजेक्ट का विस्तार करें और फिर फ़ाइल खोलें: org.eclipse.wst.common.project.facet.core.xml आपको एक लाइन देखना चाहिए जो कहता है: <installed facet="jst.web" version="2.5"/> 2.4 को बदलें और सहेजें।

बस यह सुनिश्चित करें कि आपकी परियोजना 2.5 के लिए विशिष्ट कुछ भी उपयोग नहीं कर रही है और आपको अच्छा होना चाहिए।

यह भी जांच अपने web.xml सही विन्यास है:

<web-app version="2.4" 
     xmlns="http://java.sun.com/xml/ns/j2ee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
+1

धन्यवाद। वास्तव में मैंने प्रश्न पोस्ट करने से पहले अपने हैक की कोशिश की - आंशिक सफलता के साथ। जब मैंने ग्रहण के भीतर से परियोजना को चलाने का प्रयास किया (टॉमकैट 5.5 के तहत) मुझे अपवादों का सामना करना पड़ा। इसलिए मैंने एक्सेप्से को अपवाद स्टैक को कॉपी करने के लिए निकाल दिया ... और यह काम किया! किसी भी विचार हैक की आवश्यकता क्यों है? – user13360

+0

बहुत बढ़िया..इस जवाब ने मुझे लंबे समय तक चलने वाले मुद्दे को हल करने में मदद की। – SRy

+0

+1! यह हैक वास्तव में काम करता है :-) – Badal

0

क्षमा करें यह मैं काफी प्रतिनिधि के बिना एक टिप्पणी पोस्ट नहीं कर सकते हैं तो लगता है ...

मुझे लगता है कि ग्रहण के लिए सुरक्षित स्तर पर सुरक्षित रूप से गिरावट करना बहुत मुश्किल है क्योंकि यह वास्तव में नहीं जानता कि आपने नए वेब मानक से कुछ उपयोग किया है या नहीं। तो अगर यह आपको ऐसा करने की अनुमति देता है तो यह आपके प्रोग्राम को पुराने संस्करण पर असफल कर सकता है।

आप हमेशा पिछड़े संगत हो सकते हैं लेकिन आगे संगत नहीं हो सकते हैं।

+0

एमएमएम - थोड़ा अजीब (कष्टप्रद उल्लेख नहीं है)। वैसे भी, उत्तर के लिए बहुत धन्यवाद। – user13360

+1

आप इसे अन्य तरीके से नहीं कर सकते हैं 2.4 -> 2.5: '( – scottyab

7

यह पुराना हो सकता है लेकिन मैंने कोशिश की और ग्रहण गैलीलियो में निम्नलिखित पाया।

नेविगेटर दृश्य खोलें और पता लगाएं कि आपके प्रोजेक्ट के तहत एक .settings फ़ोल्डर है, इसे विस्तारित करें और फिर फ़ाइल खोलें: org.eclipse.wst.common.project.facet.core.इस फ़ाइल की सामग्री को हटाएं और दाएं प्रोजेक्ट पर क्लिक करें और गुणों पर क्लिक करें। पॉपअप विंडो में प्रोजेक्ट फ़ैक्ट्स पर जाएं, आप रनटाइम टैब पर क्लिक कर सकते हैं और अपनी प्रोजेक्ट को नए पहलू में बदल सकते हैं।

+1

मैंने ** Eclipse Juno ** में अपनी समस्या के लिए एक ही काम किया है और यह भी वहां काम करता है। धन्यवाद! – CatsAndCode

+0

बनाने की आवश्यकता नहीं है चाल करने के लिए गतिशील वेब प्रोजेक्ट, ग्रहण जूनो हमें एक पहलू जोड़ने की इजाजत देता है। फिर, डायनामिक वेब मॉड्यूल पर राइट क्लिक करें और संस्करण को 2.5 में बदलें। पहला ओके आपको एक नलपॉन्टर अपवाद दे सकता है, क्लैम रह सकता है और पुनः प्रयास कर सकता है। –

0

आप पहलू को अनचेक करने, लागू करने, पहलू के मूल्य को बदलने और जांचने का प्रयास कर सकते हैं। यह ग्रहण हेलीओस एसआर 1 में मेरे लिए काम करता है।

तो मुख्य अंतर यह है कि मैं इसे 'डायनामिक वेब मॉड्यूल' के साथ करता हूं।

मुझे आशा है कि यह आपके लिए भी काम करेगा।

5

यदि आप मेवेन का उपयोग कर रहे हैं, तो बंद करें ग्रहण करें, फिर >mvn eclipse:eclipse -Dwtpversion=2.0 टाइप करें, और ग्रहण को पुनरारंभ करें।

0

मैंने एक ही चीज़ देखी, तो मैंने web.xml में वेब-ऐप संस्करण मान बदल दिया। ऐसा करने से यह आपके लिए ठीक हो सकता है।

-1

यदि आप मेवेन का उपयोग कर रहे हैं तो आप मैवेन ग्रहण प्लगइन का उपयोग करके ग्रहण सेटिंग्स उत्पन्न कर सकते हैं।

jst.web संस्करण के लिए मेवेन ग्रहण प्लगिंग परियोजना की निर्भरताओं को ध्यान में रखता है। आप एक सर्वलेट एपीआई निर्भरता परिभाषित करती हैं:

<dependency> 
    <groupId>org.apache.tomcat</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>6.0.32</version> 
</dependency> 

आप jst.web पैरामीटर हो जाएगा 6,0

<faceted-project> 
    ... 
    <installed facet="jst.web" version="6.0"/> 
    ... 
</faceted-project> 
संबंधित मुद्दे