在子目录中编译Java文件

时间:2013-09-08 16:33:28

标签: java compilation

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

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

2 个答案:

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

现在您已了解所有方式(至少在大多数方面),您的选择就是您的选择! : - )