Linux java 命令行编译 jar包

时间:2021-02-23 09:13:16

Java 命令行编译成class,然后在打包成jar文件。

 

编译成class

javac -classpath $CLASS_PATH -d class ./src/Hello.java

可以通过javac 命令查看帮助

-classpath 指定依赖的class,:进行分隔

-d  生成的class存放的目录

 

打包成jar

jar  -cvfm Hello.jar  MANIFEST.MF  -C class/  .

将class目录下的内容全部打包,并且将自己写的MANIFEST.MF文件打包,以便调用jar文件的时候能够找到main-class.

可以通过jar 命令查看帮助

-m 自己指定MANIFEST.MF文件

  文件内容:

Manifest-Version: 1.0
Main
-Class: Hello

  注:1 冒号后面有空格,2最后一行为空行

-C 指定class文件存放的目录,如果class文件不在当前目录,在其他目录,需要注意会把目录也放在包中。 可以通过 jar -tvf Hello.jar查看包里面的内容。

 

执行java包

java -jar Hello.jar

 

注要确保 java 和javac的版本一致。

java -version
javac
-version