java第二课之打包jar
1.单文件打包jar
单文件生成Jar的命令
jar -cef ${MAINCLASS} ${JARNAME} ${CLASS_NAME}
其中${MAINCLASS}代表主类,${JARNAME}代表生成的jar的名称,${CLASS_NAME}表示需要打包的class文件。
SingleJar.java
|
|
执行的编译命令为:
javac SingleJar.java jar -cef SingleJar SingleJar.jar SingleJar.class java -jar SingleJar.jar
执行的结果为:
2. 单文件使用Manifest
Manifest文件需要注意的地方: 冒号之后要有空格,最后一行以后要有空行
Manifest.mf
Manifest-Version: 1.0
Create-By: DennisMi
Class-Path: .
Main-Class: UseManifest
java源代码
|
|
执行的命令:
javac UseManifest.java jar -cvfm UseManifest.jar Manifest.mf UseManifest.class java -jar UseManifest.jar
执行的结果:
3.使用Manifest带Package
Manifest.mf
Manifest-Version: 1.0
Created-By: DennisMi
Class-Path: .
Main-Class: Cal.Main
Add.java
|
|
Main.java
|
|
执行的命令:
javac Cal/ em>.java
jar cfm three.jar ./Cal/Manifest.mf ./Cal/ /em>.class
java -jar three.jar
执行的结果:
4.带Package的编译
Manifest.mf
Manifest-Version: 1.0
Created-By: DennisMi
ClassPath: Cal
Main-Class: Main
Add.java
|
|
Main.java
|
|
执行的命令:
javac ./Cal/Add.java
javac Main.java
jar -cvfm four.jar Manifest.mf Main.class ./Cal/Add.class
java -jar four.jar
执行的结果:
5.使用Manifest打包jar
Manifest.mf
Manifest-Version: 1.0
Created-By: DennisMi
Class-Path: ../Add.jar
Main-Class: Main
Add.java
|
|
Main.java
|
|
执行的命令:
javac ./Cal/Add.java
jar -cef Cal.Add Add.jar ./Cal/Add.class
cd src
javac Main.java -cp ../Add.jar:$CLASSPATH
java -cp ../Add.jar:$CLASSPATH Main
jar -cfm five.jar Manifest.mf ../Add.jar ./Main.class
java -jar five.jar
执行的结果: