java、javac、jar、javap 痛定思痛。 2021-11-19 16:16 336阅读 0赞 # Java的基本指令参数 # * **javac \[-d 目录|-verbose\] file** * **java \[-classpath(cp) dir\] file** * **jar -zcvf dir file** * **javap \[-private§\] file** ### javac命令 ### 我们都知道javac命令用来编译文件 ![Snipaste\_2019-07-27\_23-08-58.jpg][Snipaste_2019-07-27_23-08-58.jpg] \*\*-d \*\*:在javac后加`-d .`会把java文件放在指定的包下。 但当我们的java程序在某个包下时,如果还用javac 编译则会有 ![Snipaste\_2019-07-27\_23-32-00.jpg][Snipaste_2019-07-27_23-32-00.jpg] **-verbose**:显示每个所加载的类和每个所编译的源文件的有关信息 ![Snipaste\_2019-07-27\_23-37-54.jpg][Snipaste_2019-07-27_23-37-54.jpg] ### java命令 ### 对于java命令,我们都知道它可以运行java程序 ![Snipaste\_2019-07-27\_23-42-27.jpg][Snipaste_2019-07-27_23-42-27.jpg] **java -classpath dir**:指定输入.class文件的位置(可以联想到CLASSPATH环境变量) ![Snipaste\_2019-07-27\_23-47-30.jpg][Snipaste_2019-07-27_23-47-30.jpg] **java命令与javac命令的一个小案例**: ![Snipaste\_2019-07-30\_09-09-36.jpg][Snipaste_2019-07-30_09-09-36.jpg] ### jar命令:打包.class文件 ### ![Snipaste\_2019-07-27\_23-50-35.jpg][Snipaste_2019-07-27_23-50-35.jpg] 如果有多个文件,用空格隔开 打包后的包内的所有文件如下: ![Snipaste\_2019-07-28\_10-50-11.jpg][Snipaste_2019-07-28_10-50-11.jpg] 其中生成的文件/META-INF/MANIFEST.MF文件的内容格式及其含义如下: Manifest-Version: 1.0 Created-By: 1.6.0_22(Sun Microsystems Inc.) Class-Path: . Main-Class: MianClass Manifest-Version 指清单版本,默认生成Manifest-Version: 1.0 Created-By 指创建作者,默认生成Created-By: 1.8.0_74 (Oracle Corporation) Class-Path 指主类所在路径 Main-Class 指程序的主类 main 方法的类。 运行可执行的jar包时,使用命令`java -jar jar包名.jar`即可运行jar包 注:在MANIFEST.MF中的Main-Class属性中必须指明mian方法的。 ### javap命令:反编译.class文件 ### ![Snipaste\_2019-07-28\_00-00-57.jpg][Snipaste_2019-07-28_00-00-57.jpg] **-c参数** 为类中的每个方法打印反汇编代码,例如,包含Java字节码的指令。 ![Snipaste\_2019-07-28\_16-24-40.jpg][Snipaste_2019-07-28_16-24-40.jpg] Java中的详细命令及参数可以在Oracle官网查看https://docs.oracle.com/javase/9/tools/javap.htm\#JSWOR688 [Snipaste_2019-07-27_23-08-58.jpg]: /images/20211119/66a8f6e4ae32439ab29a596dc2477bb4.png [Snipaste_2019-07-27_23-32-00.jpg]: /images/20211119/655eb3032c344c7aa3925df09d18ffed.png [Snipaste_2019-07-27_23-37-54.jpg]: /images/20211119/bd7bacfbb7314433873e510e19de3b4d.png [Snipaste_2019-07-27_23-42-27.jpg]: /images/20211119/a3a5faaa1bc7417f8bde2edd8e9ed886.png [Snipaste_2019-07-27_23-47-30.jpg]: /images/20211119/a439086d825247daafddcc9374d6010f.png [Snipaste_2019-07-30_09-09-36.jpg]: /images/20211119/ef4c3419551f4d5a9dbd6eb70766cd6f.png [Snipaste_2019-07-27_23-50-35.jpg]: /images/20211119/c2c19b8eef124882a7b52443f04d2560.png [Snipaste_2019-07-28_10-50-11.jpg]: /images/20211119/2d4ce44de831453f96fdd88d8e9c186c.png [Snipaste_2019-07-28_00-00-57.jpg]: /images/20211119/78d4c7475f9347cd8316726d99b18816.png [Snipaste_2019-07-28_16-24-40.jpg]: /images/20211119/e0328201c45a4122b7397cefb7acce30.png
还没有评论,来说两句吧...