如何编译多个文件夹中的java类?

时间:2011-05-11 10:29:22

标签: compiler-errors compilation javac

我是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。

1 个答案:

答案 0 :(得分: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上运行。