14

如何将目录中的所有文件编译为 *.class 文件?

4

3 回答 3

25

好吧,这似乎很明显,所以我可能遗漏了一些东西

javac *.java

(使用适当的库参考等)

也许:

javac -d bin *.java

javac 为输出创建正确的目录结构。

您是否在寻找更复杂的东西?如果是这样,您能否提供更多详细信息(以及您在哪个平台上)?

于 2010-03-01T14:32:20.883 回答
10

此处描述了在 UNIX 上使用“查找”的另一种方式:

http://stas-blogspot.blogspot.com/2010/01/compile-recursively-with-javac.html

以下两个命令将编译目录./src及其子目录中包含的所有 .java 文件:

find ./src -name *.java > sources_list.txt
javac -classpath "${CLASSPATH}" @sources_list.txt

首先,find生成sources_list.txt一个包含 Java 源文件路径的文件。接下来,javac使用语法编译所有这些源代码@sources_list.txt

于 2011-07-04T20:27:05.457 回答
3

这是我用来构建整个项目的代码片段,与往常一样,源文件位于深度嵌套的层次结构中,并且有许多 .jar 文件必须进入类路径(需要 UNIX 实用程序):

CLASSPATH=
for x in $(find | grep jar$); do CLASSPATH="$CLASSPATH:$x"; done
SRC=$(find | grep java$)
javac -cp "$CLASSPATH" $SRC
于 2010-03-01T14:39:19.420 回答