2011-05-11 29 views
0

我是Java新手。我有幾個在嵌套文件夾內的類。如何編譯多個文件夾內的java類?

我的命名空間下的文件夾結構(假設的companyName文件夾是C:\):

 
companyName -> isuName -> projectName -> module1 -> sampleclass1.java 
companyName -> isuName -> projectName -> module2 -> sampleclass2.java 
companyName -> isuName -> projectName -> module3 -> codePart3.1 -> sampleclass3.java 
companyName -> isuName -> projectName -> module3 -> codePart3.2 -> sampleclass4.java 

我的問題是,我想編譯所有這些類從命令提示符。

我嘗試下面的命令,但它不工作:

C:\> javac -sourcepath companyName\*.java 

,但它不工作。我得到以下錯誤:

javac: no source files 
Usage: javac <options> <source files> 

請幫助編譯所有這些類,並可能創建它的jar。

+0

@平等,感謝您的幫助。我經歷了這個問題。它與我的問題不相似。我沒有重複的類,我正在使用Windows機器,所以我不能使用shell腳本和在該問題/答案中指定的其他命令。有沒有簡單的方法來編譯一個包中的所有類? – Shekhar 2011-05-11 10:45:04

回答

2

我看着the manual page for javac,好像你必須在命令行上列出源文件,或者你必須將它們列在單獨的文件中,並在命令行中引用該文件。

我設置你的問題前兩個源文件類似的樹,如下它們編:

C:\>"\Program Files\Java\jdk1.6.0_24\bin\javac.exe" company\isu\project\module\HelloJava.java company\isu\project\module\ByeBye.java 

使用另一種方法,我公司生產的此文件:

C:\>type sourcefiles.txt 
company\isu\project\module\HelloJava.java 
company\isu\project\module\ByeBye.java 

然後,我將該文件提供給javac編譯器,並在每個手冊中添加「@」說明符。

C:\>"\Program Files\Java\jdk1.6.0_24\bin\javac.exe" @sourcefiles.txt 

The manual page for jar似乎並沒有產生相同的技術,所以我像以前指定的命令行上的文件。

C:\>"\Program Files\Java\jdk1.6.0_24\bin\jar.exe" -cf myjar.jar company\isu\project\module\HelloJava.class company\isu\project\module\ByeBye.class 

當然,做這種方式有點繁瑣,所以我強烈建議Ant,您可以在Windows上運行。

+0

真棒!!!!非常感謝 – Shekhar 2011-05-11 11:22:47