2012-08-15 35 views
20

में जावा प्रोग्राम को चलाने के लिए मैं एक जावा परियोजना एक वेब सेवा को कॉल करने के लिए बनाया। इसमें एक मुख्य जावा फ़ाइल और दूसरी श्रेणी फ़ाइल है। मैंने HTTP क्लाइंट के लिए कुछ जार फ़ाइलों का उपयोग किया है।
ग्रहण में यह ठीक चलाता है। मुझे कुछ तर्कों को पार करके जावा प्रोग्राम को कमांड प्रॉम्प्ट में चलाने की आवश्यकता है।
कमांड प्रॉम्प्ट में मैं src फ़ोल्डर के लिए गया था मुख्य जावा और उप वर्ग जावा फ़ाइल युक्त और निम्न आदेशकैसे कमांड प्रॉम्प्ट

javac mainjava.java  

दिया मैं निम्न त्रुटि

mainjava.java:14: cannot find symbol
symbol : class SubClass

यहाँ उपवर्ग मेरी एक और जावा वर्ग है हो रही है फ़ाइल को वेब सेवा कॉल करने के लिए उपयोग किया जाता है।

कैसे तर्क पारित करके कार्यक्रम चलाने के लिए?

+0

डीडी आपने अपना कक्षा पथ स्थापित किया है? – Rocky

+0

मेरी मदद करने के लिए सभी के लिए धन्यवाद, यह मेरे लिए ठीक काम कर रहा है ..... – Vignesh

उत्तर

20

javac जावा कम्पाइलर है के साथ अपने कोड चलाना चाहिए की जरूरत है। java JVM और क्या आप एक जावा प्रोग्राम निष्पादित करने के लिए इस्तेमाल करते हैं। आप .java फ़ाइलों को निष्पादित नहीं करते हैं, वे केवल स्रोत फ़ाइलें हैं।

 
java/src/com/mypackage/Main.java 
java/classes/com/mypackage/Main.class 
java/lib/mypackage.jar 

निर्देशिका java से निष्पादित करें::

java -cp lib/mypackage.jar Main arg1 arg2

+0

यह मेरा फ़ोल्डर संरचना है WebCall/src/main.java ---- WebCall/src/Sub.java ------ WebCall/extjarfiles/httpcore.jar ----- WebCall/extjarfiles /httpclient.jar----- – Vignesh

+0

क्या कोई 'वेबकॉल/कक्षाएं' या 'वेबक्लास \ lib' फ़ोल्डर है? – hmjd

+0

मैंने javac -cp extjarfiles/AllJarFiles main.java ------ को सफलतापूर्वक संकलित किया लेकिन प्रोजेक्ट – Vignesh

2

आप सभी आप जावा सूत्रों संकलित करने के लिए javac *.java आदेश का उपयोग कर सकते हैं। इसके अलावा आपको क्लासपाथ के बारे में कुछ सीखना चाहिए क्योंकि ऐसा लगता है कि आपको सफल संकलन के लिए उपयुक्त क्लासपाथ सेट करना चाहिए (क्योंकि आपका आईडीई वेब सेवा क्लाइंट बनाने के लिए कुछ पुस्तकालयों का उपयोग करता है)। इसके अलावा मैं आपको अपनी परियोजना बनाने के लिए अपने आईडीई उपयोग के कमांड को जांचने की सलाह दे सकता हूं।

+0

***** "सी: \ प्रोग्राम फ़ाइलें \ जावा \ jre6 \ bin \ javaw.exe" चलाने के लिए इस आदेश का उपयोग करके मेरे विचार में - Dfile.encoding = Cp1252 -classpath "डी: \ प्रोजेक्ट्स \ ग्रहण परियोजनाएं \ WebServiceCall \ bin; डी: \ प्रोजेक्ट \ ग्रहण परियोजनाएं \ WebServiceCall \ ExternalJarFiles \ httpcore-4.0.jar; डी: \ प्रोजेक्ट \ ग्रहण परियोजनाएं \ WebServiceCall \ ExternalJarFiles \ httpclient-4.0.jar; डी: \ प्रोजेक्ट्स \ ग्रहण परियोजनाएं \ WebServiceCall \ ExternalJarFiles \ commons-logging-1.1.jar; डी: \ प्रोजेक्ट्स \ ग्रहण परियोजनाएं \ WebServiceCall \ ExternalJarFiles \ gson-1.7.1.jar "WSCall.ServiceCall * *** – Vignesh

+0

अगर मैं कमांड प्रॉम्प्ट में उपरोक्त कमांड का उपयोग करता हूं तो इसे चलाने में सक्षम हूं। लेकिन मैं – Vignesh

+0

तर्कों को पारित करने में सक्षम नहीं हूं आप कमांड के अंत में तर्क जोड़ने का प्रयास कर सकते हैं। 'Javac * .java' के लिए – gkuzmin

14

एक बहुत ही सामान्य कमांड प्रॉम्प्ट कैसे जावा के लिए करने के लिए

javac mainjava.java 
java mainjava 

आप बहुत बार देखेंगे लोग कर

javac *.java 
java mainjava 

उपवर्ग समस्या यह है कि शायद होने वाली है क्योंकि एक पथ से लापता है के रूप में है आपका वर्ग पथ, -सी ध्वज मुझे विश्वास है कि इसे सेट करने के लिए उपयोग किया जाता है।

+0

+1, यह ओपी की SubClass.java स्रोत फ़ाइल को भी संकलित करेगा। – martijno

1

javac केवल कोड संकलित करता है। कोड चलाने के लिए आपको जावा कमांड का उपयोग करने की आवश्यकता है। त्रुटि यह है क्योंकि आपके क्लासपाथ में सबक्लास श्रेणी शामिल नहीं है, जब आपने इसे संकलित करने का प्रयास किया था। आप javac आदेश

java -cp classpath-entries mainjava arg1 arg2 में -cp चर के साथ उन्हें जोड़ने के लिए 2 तर्कों

1

तुम सब करने की ज़रूरत है मुमकिन है वहाँ .jar कहीं (या .class फ़ाइलों वाला कोई निर्देशिका) है कि ग्रहण में यह निर्माण के उत्पाद है:

  • बिल्ड mainjava वर्ग वर्ग पथ का उपयोग करता है, तो किसी भी (वैकल्पिक)

    javac * जावा [-cp "wb.jar,"]

  • प्रकट बनाएँ।सामग्री के साथ txt फ़ाइल है:

    मुख्य-क्लास: mainjava

  • पैकेज mainjava वर्ग के लिए जार फ़ाइल

    जार CFM mainjava.jar Manifest.txt * .class

फिर आप क्लास पथ (वैकल्पिक) के साथ cmd से यह .jar फ़ाइल चला सकते हैं और इसके लिए तर्क डाल सकते हैं।

java [-cp "wb.jar;"] mainjava arg0 arg1 

एचटीएच।

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