我是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 :(得分: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上运行。