मेरे पास एक जावा प्रोग्राम है जिसे मैं अपनी मशीन पर कहीं से भी चलाने में सक्षम होना चाहता हूं। मैं इसे अपने सिग्विन कमांड प्रॉम्प्ट से चलाने के लिए चाहता हूं। मैंने जावा कार्यक्रम को कॉल करने के लिए स्क्रिप्ट बनाई हैं। मैंने जावा प्रोग्राम का स्थान क्लासपाथ में जोड़ा, और स्क्रिप्ट काम करते हैं जब मैं उन्हें जावा प्रोग्राम की निर्देशिका से चलाता हूं। हालांकि, जब मैं किसी अन्य निर्देशिका से चलाने का प्रयास, मैं मिलता है:मैं एक अलग निर्देशिका से जावा प्रोग्राम कैसे चला सकता हूं?
#!/bin/sh
CWD=`dirname "$0"`
java -cp "$CWD/classes;$CWD/lib/AJarFile.jar" commandprogram/CommandProgram
निम्न के जावा लाइन बदलने::
java -cp "$CWD/classes;$CWD/classes/commandprogram;$CWD/lib/AJarFile.jar" CommandProgram
पैदा करता
java.lang.NoClassDefFoundError: commandprogram/CommandProgram
यह मेरी स्क्रिप्ट है एक ही परिणाम।
आप अपनी स्क्रिप्ट पोस्ट कर सकता, कि लोगों में ... –
आपको बस इतना करना जावा commandprogram/CommandProgram.class या जावा जार commandprogram/commandProgram की आवश्यकता नहीं है देखने के लिए जहां पर एक बेहतर विचार दे देंगे .jar? –
'पथ विभाजक नहीं है जो आपके द्वारा उपयोग किए जाने वाले अर्धविराम (;) के बजाय एक कोलन (:) है? –