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