2013-04-25 6 views
5

हमने हाल ही में ग्लासफ़िश 3.1.2.2 पर स्विच किया है और कई वेब-अनुप्रयोगों को युद्ध फ़ाइलों के रूप में पैक किया गया है। कभी-कभी इन अनुप्रयोगों के लिए इच्छित संदर्भ-रूट फ़ाइल नाम से अलग होता है।ग्लासफ़िश में ग्लासफ़िश-वेब.एक्सएमएल से संदर्भ-रूट का उपयोग 3

वापस जब हम Weblogic इस्तेमाल किया हम इस

<context-root>path/to/our/App</context-root> 

हमने देखा है कि एक ही टैग glassfish-web.xml में मौजूद है जैसे weblogic.xml में संदर्भ के जड़ की घोषणा कर यह उपलब्धि हासिल। लेकिन इससे कोई फर्क नहीं पड़ता कि हम वहां क्या परिभाषित करते हैं, सर्वर हमेशा फाइलनाम को संदर्भ-रूट के रूप में निर्धारित करता है।

अब हमें विकल्प --contextroot asadmin उपयोगिता में मिलता है जो हमें समय पर तैनात करने के लिए फ़ाइल नाम को ओवरराइट करने की अनुमति देगा, लेकिन हम इसे सीधे संग्रह में परिभाषित करना पसंद करेंगे ताकि जो भी इसे तैनात करेगा अंत वांछित contex-root जानने की आवश्यकता नहीं होगी।

क्या यह हासिल करने का कोई तरीका है?

उत्तर

4

आम तौर पर यह एक glassfish-web.xml इस तरह लग रही के साथ काम करना चाहिए:

<!DOCTYPE glassfish-web-app PUBLIC 
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" 
    "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <context-root>/path/to/App</context-root> 
</glassfish-web-app> 

लेकिन यहाँ यह है कि आप फ़ाइल अपने कार्य के लिए sun-web.xml बुलाया लेनी होगी।

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC 
    "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" 
    "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd"> 
<sun-web-app error-url=""> 
    <context-root>/path/to/our/App</context-root> 
</sun-web-app> 
+0

यह अजीब है (और कुछ हद तक शर्मनाक है) हमारे पास उस टैग सेट (हालांकि ग्लासफ़िश-वेब.एक्सएमएल में फ़ाइल का नाम बदलकर जीएफ 3.1 में बदल दिया गया है) लेकिन ध्यान दिए बिना हमने इसे हमारे मैवेन कॉन्फ़िगरेशन में ओवरराइड किया जहां फ़ाइल नाम स्पष्ट रूप से पारित किया गया था संदर्भ-रूट के रूप में, ग्लासफ़िश-web.xml में परिभाषा को ओवरराइड करना। आप निश्चित रूप से सही हैं :) – Markus

+1

यह मेरे लिए ग्लासफ़िश 3.1.2.2 के साथ जावा ई युद्ध तैनाती का उपयोग नहीं किया गया है, भले ही मैंने ग्लासफ़िश-वेब.एक्सएमएल और सूर्य-वेब.एक्सएमएल दोनों को कॉन्फ़िगर किया हो। केवल था asadmin तैनाती पैरामीटर --contextroot =/मदद की। लेकिन मैं इस विषय के लिए सही कॉन्फ़िगरेशन ढूंढने की उम्मीद कर रहा हूं। –

+0

मैंने कुछ और प्रयोग किए और अंत में समाधान केवल ग्लासफ़िश-वेब.एक्सएमएल को संशोधित करना था। यदि मैं केवल संदर्भ-रूट पैरामीटर को ग्लासफ़िश-वेब.एक्सएमएल में जोड़ता हूं, न कि सूर्य-वेब.एक्सएमएल परिणाम अपेक्षित था। –

10

ग्लासफिश 3 और ग्लासफिश 4 ​​एक वेब अनुप्रयोग के विन्यास में glassfish-web.xml के माध्यम से किया जाता है:

यहाँ एक उदाहरण है। आपके मामले में वांछित विन्यास फाइल इस प्रकार दिखाई देगा:

<!DOCTYPE glassfish-web-app PUBLIC 
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" 
    "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <context-root>/path/to/our/App</context-root> 
</glassfish-web-app> 

आप ओरेकल ग्लासफिश सर्वर आवेदन तैनाती की धारा ग्लासफिश सर्वर तैनाती डिस्क्रिप्टर फ़ाइलें गाइड में अधिक जानकारी पा सकते हैं। इस दस्तावेज़ का एक ऑनलाइन संस्करण http://docs.oracle.com/cd/E18930_01/html/821-2417/ पर पाया जा सकता है।

+2

हां, मुझे एक समान समस्या थी। 'सूर्य-वेब.एक्सएमएल' का संदर्भ रूट पर कोई प्रभाव नहीं पड़ता है। मैं 'ग्लासफ़िश-वेब.एक्सएमएल' का उपयोग करने के लिए बदल गया। यह काम करता हैं। – smwikipedia

संबंधित मुद्दे