jar包的分析
jar包(Java應用):.class文件+META-INF/MANIFEST.MF
?
java -jar XXX 運行jar包
?
?
?
JAR 文件就是 Java Archive File,顧名思意,它的應用是與 Java 息息相關(guān)的,是 Java 的一種文檔格式。JAR 文件非常類似 ZIP 文件——準確的說,它就是 ZIP 文件,所以叫它文件包。JAR 文件與 ZIP 文件唯一的區(qū)別就是在 JAR 文件的內(nèi)容中,包含了一個 META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創(chuàng)建的.廢話不說,轉(zhuǎn)入正題。
?
??????? 前陣子公司要求做的一些功能模塊比較小的東西。所以我就想到了把程序打成jar讓它無運行。
?
?????? 首先我們用MyEclipse自帶的工具生成JAR,右鍵--->Export---->java--->JAR File然后選中要導出的工程即可.導出的jar包里面在
WETA-INF目錄下會有MANIFEST.MF文件。我們來解釋一下里面的內(nèi)容。
??????
一. 一般屬性
1. Manifest-Version
?用來定義manifest文件的版本,例如:Manifest-Version: 1.0
2. Created-By
?聲明該文件的生成者,一般該屬性是由jar命令行工具生成的,例如:Created-By: Apache Ant 1.5.1
3. Signature-Version
?定義jar文件的簽名版本
4. Class-Path
?應用程序或者類裝載器使用該值來構(gòu)建內(nèi)部的類搜索路徑(如果你的程序用到別的jar)
二、關(guān)鍵的一部了,就是你應用程序的入口(main方法)
定義jar文件的入口類,該類必須是一個可執(zhí)行的類,一旦定義了該屬性即可通過 java -jar x.jar來運行該jar文件。比如(Main-Class: com.mrj.類名稱)。
三. 小程序(Applet)相關(guān)屬性
1. Extendsion-List
?該屬性指定了小程序需要的擴展信息列表,列表中的每個名字對應以下的屬性
2. <extension>-Extension-Name
3. <extension>-Specification-Version
4. <extension>-Implementation-Version
5. <extension>-Implementation-Vendor-Id
5. <extension>-Implementation-URL
???? 好了,后面還有好幾個比如擴展表示屬性結(jié)合框架。既然我們跑的是小程序就不用上那么多了,有興趣的朋友可以去了解一下。做了這么多以后我們就可以運行了。運行--->cmd--->java -jar xxx.jar
???當然這樣效率是比較慢的,我們可以建立一個xxx.bat.里面內(nèi)容java -jar xxx.jar >> log.log還可以
輸出到日志。這樣以后我們就可以結(jié)合window的任務計劃了執(zhí)行它了,這樣就比較方便了。
總結(jié)
- 上一篇: 【-】WebKit Layout (布局
- 下一篇: .class文件格式(java字节码文件