一、java的打包jar,war,ear包的作用,區(qū)別,打包方式.
a) 作用與區(qū)別
i. jar: 通常是開發(fā)時要引用通用(JAVA)類,打成包便于存放管理
ii. war: 是做好一個(web)應用后,通常是網(wǎng)站,打成包部署到容器中
iii. ear: 企業(yè)級應用,實際上EAR包中包含WAR包和幾個企業(yè)級項目的配置文件而已,一般服務器選擇WebSphere等,都會使用EAR包。通常是EJB打成ear包。
b) 打包方式
i. 所有的包都是用jar打的,只不過目標文件的擴展名不一樣
ii. 也可以用Ant來安成構建
c) JET編譯成EXE
i. JET 是要用錢買的,而且據(jù)說 JET 也不是能把所有的 Java 程序都編譯成執(zhí)行文件,性能也要打些折扣。所以,使用制作可執(zhí)行 JAR 文件包的方法就是最佳選擇了,何況它還能保持 Java 的跨平臺特性。
二、實例
方法一:我現(xiàn)在有test/A.java
道理雖然簡單,但是在這過程中還是有很多細節(jié)需要注意的,哪一個細節(jié)注意不到,操作都不會成功。
package test;
public class A{
public static void main(String args[]){
System.out.println("test java");
}
}
寫好后,保存為A.java,存在D:\Java\jdk1.6\test_jar\test\目錄下面,打開cmd,進入這個目錄,即D:\Java\jdk1.6\test_jar\test\然后用javac命令編譯,會生成一個A.class文件,此時類的編寫工作已經(jīng)完成。
2,在D:\Java\jdk1.6\test_jar目錄下新建一個文件夾META-INF,再新建mainclass.mf文件,在其中寫入下面一行信息
Main-Class: com/hp/HelloWorld
這一句有兩個注意的地方,首先行尾要有回車換行;其次“:”和“com”之間要有一個空格。
這一行信息的作用是標明主類。
3,最后就是生成jar包并測試了,在cmd中進入D:\Java\jdk1.6\test_jar目錄,輸入下列命令
jar cvfm test.jar META-INF/mainclass.mf test/A.class(
這是指定文件,當然也可以test指向文件夾)
上述命令執(zhí)行成功的話,會提示“標明清單(manifest)...”,
然后再在當前目錄下輸入java -jar test.jar 命令,可以看到“test java”。
方法二:
用簡單的jar -cvf test.jar test目錄,jar會自動生成META-INF/mainclass.mf,我們只需要在里面去加一句 Main-Class: com/hp/HelloWorld
就可以了
方法三:myeclipse工具 (
推薦)
右擊項目--Export--Jar File-要選擇Main-Class
方法四:ant
同理:war包的構建方法也可以通過jar,myeclipse,ant來構建
名稱: ?4C.ESL | .↗Evon
口號: 遇到新問題?先要尋找一個方案乄而不是創(chuàng)造一個方案こ
mail: 聯(lián)系我