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