手动编译及执行java类(包含并引用第三方jar)

本地一般,都是使用IDE进行编译运行Java项目,就算在Linux下没有IDEA,还有Maven、Gradle这种工具可以用来部署,很多东西基本上就不用我们考虑了,太方便了,为了做到更进一步认识的话,我们纯手动的去打包一个java的项目。

1.目录结构


src存放了我们的Java类

libs下是我们要用到的jar包

classes是编译后.class文件的输出目录

2.程序代码



3.编译

manual-compile> javac -encoding utf-8 -Djava.ext.dirs=libs -d classes src\com\compile\demo\*.java src\com\compile\demo\bean\*.java

    -encoding 指定编码(如果不指定,遇到中文可能会出现乱码)

    -Djava.ext.dirs 调用的jar包存放的目录

    -d 指定输出目录

    因为两个java类不在同一个文件夹下,所以要用空格分开

    (注:因为在Windows下,所以路径中的斜杠都是\,Linux下用/,发现很多小伙伴分不清,这里有个小技巧,键盘上W是Windows的首字母,同W字母一条线的斜杠就是Windows下的斜杠\,另外一个斜杠/就是Linux下的了)

也可通过-classspath指定调用的外部jar包:

    javac -encoding utf-8 -classpath libs\commons-lang3-3.4.jar -d classes src\com\compile\demo\*.java src\com\compile\demo\bean\*.java

    -classpath 指定外部jar包的所在路径,如果有多个jar包只需用;号隔开即可,例如:-classpath libs\commons-collections-3.2.2.jar;libs\commons-lang3-3.4.jar

4.运行

当前目录结构如下:


执行:

    manual-compile\classes> java -Djava.ext.dirs=..\libs com.compile.demo.Main

    运行结果:Hello zhangsan

    也通过-classpath执行:java -classpath ;..\libs\commons-lang3-3.4.jar com.compile.demo.Main,注意-classpath后面有个分号,如果不加这个分号,就会报错。


无论使用哪种方法正常地构建Java代码(Ant, Maven, Gradle, 或者 IDE),但至少要了解在没有任何工具的帮助下,如何使用javac来构建Java代,尤其是存在外部依赖的时候。详细的参数说明,可通过javac -help或者javac -help -X来查看。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容