javac编译多个不同目录下的java源文件

【方法一示例】

javac -encoding UTF-8 -cp C:\libs\HMS_SDK_2.6.1.301.jar;D:\Android\Sdk\platforms\android-20\android.jar -sourcepath C:\src\java -d C:\copysrc\java\classes C:\copysrc\java\com\huawei\android\hms\agent\*.java  

【解析】

1)-encoding UTF-8 : 指定源文件使用的字符编码, 要是java源文件是用UTF-8编码格式写的,不设置这个选项,编译时会报错:错误: 编码GBK的不可映射字符

2)-cp :指定编译java源文件需要依赖的.class文件的路径,可以是目录,jar文件,zip文件(里面都是class文件)

3) -sourcepath:指定编译java源文件需要依赖的java文件的路径,可以是目录,jar文件,zip文件(里面都是java文件)

4)-d :指定编译生成的.class文件存放的目录

5)最后一个路径是需要编译的java文件路径,*通配符,查找该目录下所有的java文件以及依赖的java文件都会被编译成.class文件,可以空格隔开传入多个java路径

【方法二示例】

dir /b/s *.java > all.txt(先将当前目录下的所有java文件的全路径保存到all.txt文件)

javac -target 1.8 -bootclasspath D:/Android/Sdk/platforms/android-27/android.jar -d ./build @all.txt(通过@all.txt将其内容读取出来)

【扩展】

把.class文件打包成jar:

jar cvf 文件名.jar .class文件目录
发布了36 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43278826/article/details/84870319