一、
查看jar目录:
jar tvf filename.jar
二、
解压包:
jar xvd filename.jar
三、
打包:
jar cvf filename.jar a.
class
b.
class
四、
用一个存在的清单文件 ‘manifest’(文件名任意) 打包
jar cvfm filename.jar
manifest
a.
class
b.
class
指定目录
jar cvfm filename.jar
my manifest
-C com/ .
五、
打包可执行jar包
配置清单文件(包含下列信息)
Main-Class: com.TestBean
Class-Path: lib\classes12.jar
打包:
jar cvfm filename.jar
mymanifest
com lib\class-1.0.0.jar
执行:java -jar filename.jar
----------------------------------------------------------------- java
建立可执行的jar示例: maven
为了省事起见,先用maven的普通工程打成jar包,好比是test-1.0.jar spa
解压后目录: xml
$tree it
.
|-- META-INF
| |-- MANIFEST.MF
| `-- maven
| `-- com.taobao
| `-- test
| |-- pom.properties
| `-- pom.xml
`-- com
`-- taobao
`-- SlowYGC.class class
新建立lib目录,用于方依赖的jar包,新建立manifest文件,用于自定义配置项 test
manifest示例内容 stream
Class-Path: lib/xstream-1.4.8.jar lib/xmlpull-1.1.3.1.jar lib/xpp3_min-1.1.4c.jar
Main-Class: com.taobao.SlowYGC 打包
更改后的目录 配置
$tree
.
|-- META-INF
| |-- MANIFEST.MF
| `-- maven
| `-- com.taobao
| `-- test
| |-- pom.properties
| `-- pom.xml
|-- com
| `-- taobao
| `-- SlowYGC.class
|-- lib
| |-- xmlpull-1.1.3.1.jar
| |-- xpp3_min-1.1.4c.jar
| `-- xstream-1.4.8.jar
`-- manifest
从新打包:
jar cvfm test-1.0.jar manifestcom/ META-INF/ lib/xstream-1.4.8.jar lib/xpp3_min-1.1.4c.jar lib/xmlpull-1.1.3.1.jar
执行:(你能够定义本身的参数执行)
$java -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xms512m -Xmx512m -Xmn100m -XX:+UseConcMarkSweepGC -jar test-1.0.jar
输出:
2016-03-15T06:07:43.414-0700: [GC2016-03-15T06:07:43.414-0700: [ParNew: 81920K->3351K(92160K), 0.0128160 secs] 81920K->3351K(514048K), 0.0129360 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
2016-03-15T06:07:44.552-0700: [GC2016-03-15T06:07:44.552-0700: [ParNew: 85271K->6512K(92160K), 0.0168230 secs] 85271K->6512K(514048K), 0.0168880 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
、、、、、省略、、、、、