javac

2011-11-06 11 views
25

का उपयोग कर एक पैकेज के भीतर चार जावा फ़ाइलों को संकलित करना मेरे पास मेरे फ़ोल्डर में चार जावा फ़ाइलें हैं। वे सभी एक ही पैकेज में हैं। यहां पैकेज घोषणा
package com.osama.GHidejavac

ये सभी कक्षाएं एक ही पैकेज में हैं। मैं जानना चाहता हूं कि javac का उपयोग करके मैं उन्हें कैसे संकलित कर सकता हूं (मेरा मतलब है कि मुझे नहीं पता कि एक दूसरे का उपयोग कर रहे कई फाइलों को कैसे संकलित करना है)। और एक बार ऐसा करने के बाद मैं सीएलआई में java कमांड का उपयोग करके लॉन्च कैसे करूं? यहां फाइल नाम हैं।
EnteringPoint.java HidingProcess.java ListFiles.java

+0

संभावित डुप्लिकेट: http://stackoverflow.com/questions/5194926/compiling-java-files-in-all-subfolders –

+4

आपको 'com.osama' का उपयोग पैकेज नाम के रूप में नहीं करना चाहिए जब तक कि आप' ओसामा 'न लें। कॉम 'डोमेन नाम। – SLaks

+0

धन्यवाद। मैं अब से उस पर पुनर्जीवित करूंगा। – prometheuspk

उत्तर

63

परियोजना के रूट निर्देशिका से:

javac src/com/osama/GHide/*.java 

चलाने के लिए, कोई अन्य निर्भरता संभालने: (। मान लिया जाये कि EnteringPoint है सामान्य main समारोह)

java -cp ./src com.osama.GHide.EnteringPoint 

javac कमांड पैकेज की निर्देशिका में सभी .java फ़ाइलों को संकलित करता है। चूंकि वे सभी एक ही पैकेज/निर्देशिका में हैं, यह काम करता है। यह उसी निर्देशिका में उत्पन्न .class फ़ाइलों को भी रखता है, जो आप चाहते हैं कि हो सकता है या नहीं भी हो सकता है।

उन्हें एक अलग निर्देशिका में रखने के लिए, -d विकल्प का उपयोग करें और पथ प्रदान करें।

javac -d bin src/com/osama/GHide/*.java 

फिर से चलाने के लिए:

java -cp ./bin com.osama.GHide.EnteringPoint 
1

आप कमांड का उपयोग करके चला सकते हैं: - javac -cp src/कॉम/**/* जावा मैं asuming हूँ कोई अन्य dependenices और अपने। रूट क्लास नाम केवल src होगा।

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