【Java】jdk自带工具jar、javac基本使用

【Java】jdk自带工具jar、javac基本使用,第1张

一、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

结果:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/872233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存