2009-07-27 18 views
8

में WAR जोड़ना मेरे पास दो युद्ध हैं, foo.war और bar.war। foo बार से कक्षाओं का उपयोग करता है। मैं foo शुरू करने की कोशिश कर रहा हूं, और जावा के क्लासपाथ बार.war में जोड़ता हूं, लेकिन जावा क्लास नॉटफाउंड अपवाद को फेंकता है।जावा के क्लासपाथ

यदि मैं bar.war को bar.jar का नाम बदलता हूं और एक जार की तरह दिखने के लिए अपनी निर्देशिका संरचना संपादित करता हूं, तो यह काम करता है।

-CP स्विच पर जावा के दस्तावेज़ युद्ध फ़ाइलों का उल्लेख नहीं करता:

-classpath <class search path of directories and zip/jar files> 
       A ; separated list of directories, JAR archives, 
       and ZIP archives to search for class files. 
+0

मुझे इस तरह की एक ही समस्या है - मेरे पास दर्जनों जार और दर्जनों कॉन्फ़िगरेशन फ़ाइलें हैं जो युद्ध में फंस जाती हैं और मेरे "क्लासपाथ" के रूप में इसका उपयोग करके एक ग्रोवी स्क्रिप्ट चलाने में सक्षम होना चाहती हैं और यह सब कुछ है सिर्फ काम। हमेशा विकल्प होते हैं, लेकिन यह सबसे लचीला तरीका होता और मुझे संभवतः काम के दिन बचा लेता ... ओह ठीक है, अगले समाधान पर। प्रश्न के लिए +1 वैसे भी - मुझे कुछ समय बचाया। –

उत्तर

15

युद्ध फ़ाइलें पूरे वेब अनुप्रयोगों के लिए हैं, पुस्तकालयों के लिए नहीं। वे में पुस्तकालय शामिल हैं, लेकिन स्वयं में वे अनुप्रयोग हैं।

एक वेब एप्लिकेशन किसी अन्य एप्लिकेशन पर निर्भर नहीं होना चाहिए। वे एक ही पुस्तकालय पर निर्भर हो सकते हैं, लेकिन एक दूसरे पर नहीं।

मूल रूप से सामान्य कार्यक्षमता निकालते हैं, इसे लाइब्रेरी (एक जार फ़ाइल के रूप में) बनाते हैं और या तो उस WAR फ़ाइलों में जार फ़ाइल को शामिल करते हैं या इसे क्लासपाथ के एक सामान्य भाग में जोड़ते हैं।

+0

हमारी बढ़ती परियोजना सूची में अभी तक एक और परियोजना से बचने की कोशिश कर रहा था। ओह अच्छा। – ripper234

0

एक युद्ध फ़ाइल की संरचना बहुत अलग तो एक जार तो यह काम नहीं करता है। जावा क्लास फ़ाइलों को WAR की कक्षा निर्देशिका के अंदर रखा जाता है जबकि जार में सीधे जावा क्लास फाइलें होती हैं। आप उस फ़ोल्डर को क्यों नहीं जोड़ते जहां आपके पास bar.war की जावा क्लास फाइलें हैं?

आप क्या हासिल करने की कोशिश कर रहे हैं?

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