如何将目录中的所有文件编译为* .class文件?
答案 0 :(得分:24)
嗯,这看起来很明显,所以我可能会遗漏一些东西
javac *.java
(使用适当的库引用等)
或者也许:
javac -d bin *.java
到javac为输出创建正确的目录结构。
你在寻找更复杂的东西吗?如果是这样,您能否提供更多详细信息(以及您所使用的平台)?
答案 1 :(得分:9)
此处描述了在UNIX上使用“find”的另一种方式:
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
编译所有这些来源。
答案 2 :(得分:3)
这是我用来构建整个项目的代码片段,像往常一样,源文件位于深层嵌套的层次结构中,并且有许多.jar文件必须进入类路径(需要UNIX实用程序):
CLASSPATH=
for x in $(find | grep jar$); do CLASSPATH="$CLASSPATH:$x"; done
SRC=$(find | grep java$)
javac -cp "$CLASSPATH" $SRC