छोटी निर्भरताओं के लिए जो तैनाती के लिए निजी हैं, WEB-INF/lib
में .war
में रखें, यही वह है। यदि आप मेवेन का उपयोग कर रहे हैं जो < संकलन/> स्कोप में किसी भी चीज़ के लिए बहुत अधिक स्वचालित और पारदर्शी होना चाहिए।
बड़ा, जटिल निर्भरता या निर्भरता है कि कई एप्लिकेशन के बीच साझा किया जाएगा के लिए, विकल्प (4) का उपयोग करें:
तैनात प्रत्येक तार्किक पुस्तकालय एक मॉड्यूल के रूप ("OpenJPA" या "log4j" की तरह), सहित अपने एपीआई और इम्प्ल जार और किसी भी निर्भरता JARs जो पहले से ही अन्य AS7 मॉड्यूल द्वारा प्रदान नहीं की गई हैं। यदि पहले से ही एक मॉड्यूल आपके मॉड्यूल में एक जेएआर जोड़ने के बजाय उस पर निर्भरता जोड़ता है। यदि कई अलग-अलग पुस्तकालय कुछ सामान्य निर्भरताओं को साझा करते हैं, तो उन्हें मॉड्यूल में विभाजित करें और उन्हें module.xml
में मॉड्यूल निर्भरता के रूप में जोड़ें।
का उपयोग अपनी तैनाती .war
/.ear
/जो भी मॉड्यूल पर निर्भरता घोषित करता है यदि यह स्वत: पता नहीं है और स्वत: लोड नहीं किया गया है।
मुझे यह एक मध्यम से कम परेशानी दृष्टिकोण होने लगता है जो अच्छी तरह से काम करता है। तैनाती के अंदर WEB-INF/lib
में सब कुछ डंप करने से अधिक परेशानी है, जो जावा ईई मानक चीज है। यह redeploys गति करता है और यह कक्षा/संस्करण संघर्ष को कम करके बहुत से तैनाती/परीक्षण समय बचाता है।
आप मेवेन और मेवेन-निर्भरता-प्लगइन का उपयोग कर सकते हैं जो पहले से ही संक्रमित निर्भरताओं के साथ मॉड्यूल का उत्पादन करने के लिए कर सकते हैं यदि आप कुछ काम करने के इच्छुक हैं। आप module I wrote for EclipseLink integration in AS 7 में इसका एक उदाहरण देख सकते हैं। जब भी संभव हो मैं एएस 7 मॉड्यूल के निर्माण को स्वचालित करता हूं।
स्रोत
2012-07-31 03:40:19
मैं जेबीएसएस 7 में माइग्रेट करने की कोशिश कर रहा हूं और कक्षा पथ प्रविष्टि त्रुटि प्राप्त कर रहा हूं, उदाहरण के लिए। "क्लास-पथ संदर्भ के लिए वैध जार को इंगित नहीं करता है" - ऐसा लगता है जैसे आपने हल किया/इस तरह की त्रुटि का सामना नहीं किया। यह शायद जेबॉस 7 कक्षा लोडिंग के साथ कुछ करने के लिए है, कुछ लोगों को मेरे जैसा ही समस्या है लेकिन कोई समाधान नहीं - क्या आपको कोई विचार है? –
आपकी समस्या की तरह लगता है या तो आपकी मॉड्यूल.एक्सएमएल फ़ाइल में है (यदि आप अपने जेएआर को मॉड्यूल के रूप में लोड कर रहे हैं) या आपकी जेबॉस-डीप्लोमेंट-स्ट्रक्चर.एक्सएमएल फाइल। आपको स्थिर पुस्तकालय JAR का संदर्भ देने का सबसे अच्छा तरीका उन्हें मॉड्यूल निर्देशिका की उप निर्देशिका में रखना है। यदि आप "org.foo.bar.FooBar" का संदर्भ देने का प्रयास कर रहे हैं; आपकी FooBarJar.jar फ़ाइल में कक्षा तब आपकी निर्देशिका संरचना "JBOSS_HOME/मॉड्यूल/संगठन/foo/bar/main/FooBarJar.jar" बनना चाहती है और आपको अपना "JBOSS_HOME/मॉड्यूल/संगठन/foo/bar/main शामिल करना होगा /modle.xml "फ़ाइल को जार में मैपिंग को परिभाषित करने के लिए और किसी भी निर्भरता के लिए फ़ाइल हो सकती है ... – travega
... (contd।) आपका मॉड्यूल।एक्सएमएल फाइल इस तरह दिखेगी: "<मॉड्यूल xmlns =" urn: jboss: मॉड्यूल: 1.0 "name =" org.foo.bar "> <संसाधन-रूट पथ =" FooBarJar.jar "/> <निर्भरता> निर्भरता> "। फिर आप अपने मॉड्यूल संदर्भ को अपनी jboss-deploment-struct.xml फ़ाइल में जोड़ सकते हैं जो आपके WAR की वेब-आईएनएफ निर्देशिका में बैठता है। यह कुछ चीज़ों को इस तरह दिखेगा: "<मॉड्यूल नाम =" com.ehive.api.domain "सेवाएं =" निर्यात "/>" ... –
travega