0

我希望能够编译我正在工作的所有子目录中的所有 java 文件。

我知道如何编译同一目录中的所有 java 文件,但是如何为所有子目录(以及这些子目录等)执行此操作?

4

2 回答 2

0

尝试使用 ant 脚本,将源文件的基本目录提供给 srcdir

<target name="compile">
    <javac srcdir="src" destdir="build/classes"/>
</target>
于 2013-09-08T16:42:24.097 回答
0

有多种方法可以做到这一点。

使用 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>

您可以通过运行以下命令来编译整个软件:

$蚂蚁

既然您知道所有方式(至少,大多数方式),那么选择权在您手中!:-)

于 2013-09-08T16:42:55.647 回答