我希望能够从我正在工作的所有子目录中编译所有java文件。
我知道如何编译同一目录中的所有java文件,但是如何为所有子目录(以及那些子目录等)执行此操作?
答案 0 :(得分:0)
尝试使用ant脚本,将源文件的基本目录提供给srcdir
<target name="compile">
<javac srcdir="src" destdir="build/classes"/>
</target>
答案 1 :(得分:0)
有多种方法可以做到这一点。
使用Javac
您必须事先知道所有目录,或者能够使用通配符。 命令就是这样:
javac dir1/*.java dir2/*.java dir3/dir4/*.java dir3/dir5/*.java dir6/*src/*.java
<强>(OR)强>
如果您可以在项目中创建所有* .java文件的列表,那很简单:
Linux的
$ find -name "*.java" > sources.txt
$ javac @sources.txt
窗
> dir /s /B *.java > sources.txt
> javac @sources.txt
使用构建工具
使用专为构建软件而设计的工具总是更好。
使用Ant
如果您创建一个描述如何构建软件的简单build.xml文件:
<project default="compile">
<target name="compile">
<mkdir dir="bin"/>
<javac srcdir="src" destdir="bin"/>
</target>
</project>
您可以通过运行以下命令来编译整个软件:
$ ant
现在您已了解所有方式(至少在大多数方面),您的选择就是您的选择! : - )