2011-05-11 99 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