से चलते समय क्लासपाथ में जार जोड़ना ठीक है, मुझे पता है कि इस सवाल से कई बार कई बार पूछा गया है, लेकिन मैंने इसे गॉगल किया है और उदाहरणों को देखा है और पिछले महीने के लिए SO पर प्रश्नों को देखा है, और मैं गंभीरता से काम करने के लिए यह नहीं मिल सकता है। मुझे लगता है कि समस्या यह है कि मैं ग्रहण और कमांड लाइन दोनों से प्रोग्राम चलाने में सक्षम होना चाहता हूं। मैं ओएसएक्स का भी उपयोग कर रहा हूं और मुझे लगता है कि मैं पढ़ रहे कई उदाहरण विंडोज/लिनक्स के लिए हैं।कमांड लाइन
मैं ऐसा करते हैं तो मैं एक साधारण ग्रहण में संकलित कार्यक्रम है कि मैं कमांड लाइन से चलाने के लिए करना चाहते हैं:
java -cp bin MyProgram
मैं है किसी अन्य प्रोग्राम मैं संकलन और ग्रहण में चलाने के लिए, और इस संदर्भ देता MySQL JDBC कनेक्टर (mysql-connector-java-5.1.19-bin.jar) जो एक ही निर्देशिका में संग्रहीत है। यह ग्रहण से ठीक काम करता है, लेकिन मैं इसे कमांड लाइन से नहीं चला सकता।
मैं चीजों के सभी संयोजनों की कोशिश की है ...
java -classpath "bin;mysql-connector-java-5.1.19-bin.jar" MyProgram
java -cp bin\;mysql-connector-java-5.1.19-bin.jar MyProgram
और वर्ग नहीं मिला त्रुटियों के सभी प्रकार मिलता है ...
Exception in thread "main" java.lang.NoClassDefFoundError: MyProgram
Caused by: java.lang.ClassNotFoundException: MyProgram
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
हाय मैट, अगर मैं गलत नहीं कर रहा हूँ मुझे लगता है कि classpath मुख्य वर्ग आप निष्पादित करने के लिए चाहते हैं के लिए पथ घोषित करने के लिए है। तो इस मामले में यदि आपकी कक्षा बिन फ़ोल्डर में है तो मैं बस कोशिश करूंगा: जावा माइप्रोग्राम या जावा-सीपी myprogrampath MyProgram –
@FedericoGiust विशेष रूप से नहीं; क्लासपाथ सिर्फ कक्षाओं के एक समूह के लिए एक संग्रह या पथ परिभाषित करता है। क्लासपाथ रननेबल क्लास को शामिल कर सकता है या नहीं हो सकता है (जो आमतौर पर अपवाद या सीधे java.exe त्रुटि में परिणाम देता है)। क्लासपाथ में निर्देशिका और अभिलेखागार शामिल हो सकते हैं जिनके पास चलने योग्य वर्ग नहीं हैं। – Qix
[बाहरी .jar के साथ जावा कमांड लाइन] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/6069702/java-command-line-with-external-jar) –