可能重复:
Java: How can I compile an entire directory structure of code?javac如何用通配符编译整个源代码目录?
在javac命令行,如何编译整个源代码目录通配符?
javac src\com\mq\Main.java
改为
javac src\*
我们能做到这一点?
感谢
可能重复:
Java: How can I compile an entire directory structure of code?javac如何用通配符编译整个源代码目录?
在javac命令行,如何编译整个源代码目录通配符?
javac src\com\mq\Main.java
改为
javac src\*
我们能做到这一点?
感谢
您是否考虑过使用Ant?它使这种事情变得更简单。请参阅:http://ant.apache.org/manual/Tasks/javac.html#srcdirnote
您只需将它指向源代码树的顶层,然后您可以选择性地排除任何您不想编译的东西。如果需要,你也可以变得更加复杂,但是它可以处理最常见的需求。
只需使用通配符:
javac src\com\mq\*.java
这不会直接适用于多个软件包。 –
使用cd命令转至包含源文件的目录。然后发出命令
的javac *的.java
简短的回答:没有
较长的答案:也许
javac命令将编译所有你列出在命令行上的文件。如果使用通配符,可以在javac命令行的src树中创建所有文件的列表,它将编译所有这些文件。
在UNIX中,你可以做这样的事情:
find src -type f -name "*.java" -print | xargs javac
一个答案,其中的这个问题是一个重复(Java: How can I compile an entire directory structure of code ?从芯片麦考密克评论)的问题表明,使用-exec一个查找参数。对于大量的.java文件,这种技术更好。对于少量的.java文件,我相信我所展示的与使用-exec参数的技术实际上是一样的。
“正确的方法”要做到这一点将是使用像Ant或Maven或IDE这样的构建工具,它会自动为您执行此操作。
例如,在Ant中,你会在你的编译目标使用此任务:
<javac srcdir="src"
encoding="UTF-8"
destdir="classes">
</javac>
可以使用@args技术,如javac documentation定义。它是一个包含要编译的类的路径的文件。
如果使用在Linux/Unix系统中,可以很容易地创建一个这样的文件:
find . -iname *.java > files.txt
javac @files.txt
它的工作原理递归,只需启动它在你的源目录的根目录。
使用一些IDE –