一、javac命令
javac命令是把.java文件编译成.class文件的命令;
#使用方法
javac <options> <source files>
参数说明:
举例:
javac
-cp "/Users/jst/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.3.0.RELEASE/spring-boot-autoconfigure-2.3.0.RELEASE.jar":
"/Users/jst/.m2/repository/org/springframework/spring-context/5.2.6.RELEASE/spring-context-5.2.6.RELEASE.jar"
-d aaaaa
java/com/elastic/pract/examples/framwork/spring/*.java
-cp :依赖的用户类文件的位置,多个文件或路径以: 分隔;可以直接写目录,如 ./ 代表当前目录;也可以直接写文件,例如上面例子中的命令;
-d: 指定编译生成的class文件,至指定的目录;
java/com/elastic/pract/examples/framwork/spring/*.java:代表编译java/com/elastic/pract/examples/framwork/spring/目录下所有.java文件
上面命令会在aaaaa文件夹下,按照定义的包路径,生成对应的文件夹和.class文件:
二、jar命令
jar命令主要是用来把class文件打成jar文件的工具;
使用方式如下:
jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
参数说明如下:
- 动作类参数
-c 创建新档案
-t 列出档案目录
-x 从档案中提取指定的 (或所有) 文件
-u 更新现有档案
-i 为指定的 jar 文件生成索引信
- 其他参数
-v 在标准输出中生成详细输出
-f 指定档案文件名
-m 包含指定清单文件中的清单信息
-n 创建新档案后执行 Pack200 规范化
-e 为捆绑到可执行 jar 文件的独立应指定应用程序入口点
-0 仅存储; 不使用任何 ZIP 压缩
-P 保留文件名中的前导 '/' (绝对路径
-M 不创建条目的清单文件
-C 更改为指定的目录并包含以下文
举例说明:
- 打包(-c)
jar -cvfe # -c表示创建jar文件,v输出详细信息,f指定jar文件名,e指定程序主类
jst.jar # 生成的jar文件名
com.elastic.pract.examples.framwork.spring.SpringBootTest #程序主类
-C aaaaa #表示切换到aaaaa目录下
com/elastic/pract/examples/framwork/spring/SpringBootTest.class #相对于aaaaa目录的,要打包的class文件路径
此命令会在当前目录生成jst.jar文件;
- 查看jar包文件列表内容(-t)
jar -tf jsr.jar
查看结果:
- 提取jar文件中的文件 (-x)
jar -xf jst.jar com/elastic/pract/examples/framwork/spring/SpringBootTest.class
结果: