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

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

作者: 坏淡一个 | 来源:发表于2017-10-11 11:27 被阅读367次

    本地一般,都是使用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来查看。

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/tpiiyxtx.html