如何编译所有的Java源代码,包括内部文件夹和子文件夹?
发布于 2010-09-20 12:23:34
文件允许您指定要编译的文件,方法是在命令行上列出文件的路径名,或者给出一个包含源文件名列表的文件(命令行语法“@ javac command”)。在这两种情况下,生成文件名列表的方式都是特定于操作系统的。例如,在Linux上,您通常会使用shell globbing或find实用程序来构建列表;
javac <options> */*.java或
javac <options> `find . -name \*.java`或
find . -name \*.java > list
javac <options> @list或者类似的东西。
但是,如果您有许多文件要编译,从长远来看,使用Ant或Maven等Java构建工具会更好。在Ant中,您使用模式(也称为antpaths)将要编译(等)的文件指定为FileSet以匹配这些文件。在Maven中,构建工具通常会根据项目的目录结构确定Java源文件名是否为它自己的文件名。
发布于 2010-09-20 12:17:29
在Java虚拟机(VM)可以运行Java程序之前,必须使用javac编译器将程序的Java源代码编译成字节码。Java字节码是独立于平台的机器码版本;目标机器是Java VM,而不是底层架构。要编译Java源代码文件Foo.java,您需要执行以下操作:
% javac -g Foo.java-g命令行选项是可选的,但我建议使用它,因为它使调试更容易。
但是为什么不使用IDE来处理所有这些事情呢?例如eclipse或netbeans。在那里你可以管理你的源代码并构建它。
发布于 2010-09-20 12:43:07
如果您使用Maven build tool for Java,它能够自动编译一个文件夹及其子文件夹中的所有Java源代码;否则,您几乎必须使用每个源文件的路径来调用javac。有关基于Maven项目的示例,请参阅Java Project Template。如果您通过链接下载该模板,您可以简单地使用make或mvn package将所有java源代码编译成一个可执行的jar文件。请注意,这需要安装Apache Maven2构建系统。
https://stackoverflow.com/questions/3748671
复制相似问题