构建Java包(javac到所有文件)

时间:2010-03-01 14:30:10

标签: java javac

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

3 个答案:

答案 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