如何用javac命令编译一个目录以及子目录下所有的java文件呢?

D:\workflow是我放java文件的目录 里面有很多好几层子目录 子目录里放着很多java文件 我如何把他们一起同时编译呢?

不想一个一个写文件名,就应该想到如何生成命令行。人类进化的动力就是想吃饱又想偷懒。

:: Windows
D:\Workflow\> dir /s/ad > dir.txt

然后用 notepad++ 打开替换命令行。

其实我想吐槽的是,这个年代有几个人还需要手工来执行最原始的命令行。像 ant 就很方便的处理这些东西。用 eclipse 也行啊。

一个 ant 样例:

java -classpath ant.jar;ant-launcher.jar org.apache.tools.ant.launch.Launcher -v build.xml

<!-- file name: build.xml -->
<project default="compile">
   <target name="compile">
     <mkdir dir="bin"/>
     <javac srcdir="src" destdir="bin"/>
   </target>
</project>

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-24
javac 只有一个sourcepath的指定参数,意思是编译这个指定目录下的所有.java文件,但是不包括其子目录下面的文件,所以你说的功能无法实现,可以用ant来写task实现这个功能 。
第2个回答  推荐于2018-03-04
这个太简单了,先转到你要编译的java文件目录,用 javac *.java命令执行编译就OK了。本回答被提问者和网友采纳
相似回答