如何编译所有Java源代码,包括内部文件夹和子文件夹?
答案 0 :(得分:5)
javac
command允许您通过在命令行上列出其路径名,或通过提供包含源文件名列表的文件(命令行语法“@file”)来指定要编译的文件。在任何一种情况下,生成文件名列表的方式都是特定于操作系统的。例如,在Linux上,您通常会使用shell globbing或find
实用程序来构建列表; e.g。
javac <options> */*.java
或
javac <options> `find . -name \*.java`
或
find . -name \*.java > list
javac <options> @list
或类似的东西。
但是,如果您要编译许多文件,那么使用诸如Ant或Maven之类的Java构建工具从长远来看会更好。在Ant情况下,使用模式(也称为antpaths)将要编译的文件(等)指定为FileSet以匹配文件。在Maven的情况下,构建工具通常根据项目的目录结构确定Java源文件名本身。
答案 1 :(得分:1)
在Java虚拟机(VM)可以运行Java程序之前,必须使用javac编译器将程序的Java源代码编译为字节代码。 Java字节码是与机器代码无关的平台版本;目标机器是Java VM而不是底层架构。要编译Java源代码文件Foo.java,您将执行以下操作:
% javac -g Foo.java
-g命令行选项是可选的,但我建议使用它,因为它可以使调试更容易。
但为什么不使用IDE来处理所有这些。例如。日食或netbeans。在那里,您可以管理源代码并构建它。
答案 2 :(得分:0)
如果您使用Java的Maven构建工具,它可以自动编译文件夹及其子文件夹中的所有Java源代码;否则,您几乎必须使用每个源文件的路径调用javac
。有关基于Maven的Java项目示例,请参阅Java Project Template。如果您在链接下载模板,则只需使用make
或mvn package
将所有Java源代码编译为可执行jar文件。请注意,这需要您安装Apache Maven2构建系统。