資源描述:
《jar包和war包的打包規(guī)范》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、CMD模式下實(shí)現(xiàn)jar打包注意包名以及manifest.mf文件每一個(gè)冒號(hào)有空格最后一行為空1、編譯java文件2、寫manifest.mf文件Manifest-Version:1.0Main-Class:<空格>package.class//指定主類,目的是如果有main函數(shù)能夠直接運(yùn)行Class-Path:包含的其他jar包中間空格間隔如果有多個(gè)jar包且不能為jar包中的jar包。是需要在包里面包含的本地包lib/edd/.<換行>最后一行為空行保存注意:沒(méi)有添加主清單屬性則不能夠直接通過(guò)java–jar包名.jar運(yùn)行文件Cmd下執(zhí)行jar–cvfm
2、name.jarmanifest.mf文件.class這種情況是打包沒(méi)有package名的.class文件。jar{ctxu}[vfm0Mi][jar-文件][manifest-文件][-C目錄](méi)文件名?jarcvfmclasses.jarmymanifest.mf-Cfoo/.文件夾下所有類打包foo為文件夾。這種是打包有包名的.class。應(yīng)為這種情況下編譯會(huì)產(chǎn)生cn.mypackage的情況因此在manifest文件中會(huì)寫出,而且也需啊把包的文件夾放在與manifest同一個(gè)位置再打包運(yùn)行即可運(yùn)行即是java–jarname.jar;這種情況必須要有m
3、anifest文件。不然不能執(zhí)行main函數(shù)含有多個(gè)java編譯文件,屬于同一個(gè)包的打包。也是上訴方法,將其編譯到一個(gè)包文件夾中,然后編譯運(yùn)行即可。Jar包的導(dǎo)入(CMD下使用)只需要將包放入到classpath對(duì)應(yīng)的文件夾下,然后使用importcn.ddd.class即可。如下:importcn.mypackage.Testjar;//但是這種情況下用類需要把全名寫出來(lái)不然不能訪問(wèn),也就是說(shuō)importcn.mypackage.*;寫法是錯(cuò)誤的publicclasstestcout{publicstaticvoidmain(String[]args){T
4、estjart=newTestjar();t.display();}}運(yùn)行輸出:Eclipse下實(shí)現(xiàn)jar包的打包Eclipse的jar包打包同樣需要多個(gè)過(guò)程1、選擇包右鍵選擇導(dǎo)出jarfile2、3、選擇要導(dǎo)出的文件1、2、選擇自己的manifest或者生成的manifest選擇主類,實(shí)現(xiàn)直接運(yùn)行。然后finish即可關(guān)于生成自己的manifest.mf文件問(wèn)題這種情況下是使用了第三方的jar包的情況。因此系統(tǒng)生成manifest文件不可用,需要自行生成manifest文件。Manifest-Version:1.0Class-Path:lib/common
5、s-codec.jarlib/commons-httpclient-3.1.jarlib/commons-logging-1.1.jarlib/log4j-1.2.16.jarlib/jackson-all-1.8.5.jarMain-Class:main.KillCheatFans1、Class-Path:和Main-Class:后邊都有一個(gè)空格,必須加上,否則會(huì)打包失敗,錯(cuò)誤提示為:Invalidheaderfield;2、假設(shè)我們的項(xiàng)目打包后為KillCheatFans.jar,那么按照上面的定義,應(yīng)該在KillCheatFans.jar的同層目錄下建
6、立一個(gè)lib文件夾(即lib文件和打包的jar文件在同一個(gè)目錄下),并將相關(guān)的jar包放在里面。否則將會(huì)出現(xiàn)“Exceptioninthread"main"java.lang.NoClassDefFoundError”的錯(cuò)誤;也就是說(shuō)這個(gè)文件加下具有manifest文件以及l(fā)ib文件,lib中存放有第三方的jar包。3、Main-Class后面是類的全地址,比如你的主文件是KillCheatFans.java,文件里打包為packagecom.main;那么這里就寫com.main.KillCheatFans,不要加.java后綴,主文件地址寫錯(cuò)將會(huì)出現(xiàn)“找
7、不到或無(wú)法加載主類”的錯(cuò)誤;4、寫完Main-Class后一定要回車(即最后一行是空白行),讓光標(biāo)到下一行,這樣你生成的jar包才能找到你的主class去運(yùn)行,否則將會(huì)出現(xiàn)“jar中沒(méi)有主清單屬性”的錯(cuò)誤。注意eclipse下的文件最好都利用工程的file系統(tǒng)建立,不然會(huì)出現(xiàn)讀取不到文件資源以上情況下若想使用eclipse打包。需要在工程下建立文件夾放置第三方包(eclipse裝載包的方法三)。然后工程文件夾下新建一個(gè)MANIFEST.MF文件寫入配置信息。這樣保證了裝有第三方包的文件與MANIFEST.MF處于一個(gè)文件夾內(nèi),這樣編譯不會(huì)出現(xiàn)問(wèn)題。然后再進(jìn)行
8、打包即可Eclipse生成jar包含有第三方j(luò)ar包