java原生命令编译与运行,javac与jar

JDK:1.9

一. 编译分四个阶段
1.单个Java文件
编译javac className.class


2.用到第三发jar包

3.多个包多级目录的java工程
    我试了一下,下面三种方式都可以,可用通配符。
    ps: 常用-d classes将生成的.class文件指定到目录,以便打jar。不加则在java文件统计目录。

    C:\Users\15164\Desktop>javac -sourcepath .\o -d classes .\o\*.java
    C:\Users\15164\Desktop>javac  -d classes .\o\*.java
    C:\Users\15164\Desktop>javac  .\o\*.java

4.打包工具
常用的maven,gradle,ant


二.运行
1.运行class文件,要带上全路径的包名
java package.className argsArray

2.运行 jar中的class,jarPath为用到的所有jar,当为多个时可以一一列出,linux用:隔开,windowns用;隔开,想想jdk安装时的环境变量设置,-cp就是将后面的jar放入jvm加载的类路径中,这样运行时就能根据路径找到并加载.class文件。
ps:加“”的里面可以用通配符,比较方便,建议这样使用。java -jar jarName.jar 在修改文件主类配置的方式
我试了行不通,会报文件错误,工作中也都是下面的加“”可用通配符的方式。
java -cp .\jarpath package.className argsArray
java -cp ".\*" package.className argsArray

总结:工作中常用方式:maven或者gradle编译成jar,shell脚本中调用 java -cp ".\*" package.className argsArray 方式执行。

参考:
https://blog.csdn.net/u013349237/article/details/7245336ma
https://zhuanlan.zhihu.com/p/24429133?refer=hinus
https://www.cnblogs.com/ISAN-Liu/p/6688106.htm
https://blog.csdn.net/kl28978113/article/details/51918236

你可能感兴趣的:(Java基础)