abstract:選中工程---->右鍵,Export...--->Java--->選擇JAR file--->next-->選擇jar file的路徑及名稱-->next-->next--- 選擇Main class--->finish.二.工程有引用外部jar包時(shí)(J2SE)第一種方案當(dāng)工程引用了其他的外部jar時(shí),由于eclipse不支持同時(shí)導(dǎo)出外部jar包的功
選中工程---->右鍵,Export...--->Java--->選擇JAR file--->next-->選擇jar file的路徑及名稱-->next-->next--- 選擇Main class--->finish.
二.工程有引用外部jar包時(shí)(J2SE)
第一種方案
當(dāng)工程引用了其他的外部jar時(shí),由于eclipse不支持同時(shí)導(dǎo)出外部jar包的功能,所以比較麻煩一點(diǎn);具體步驟如下:
1.生成manifest file:
選中工程---->右鍵,Export...--->Java--->選擇JAR file--->next-->選擇jar file的路徑及名稱-->next-->next--- 選擇Main class--->finish。此時(shí)來到了要選擇Main class的窗口,但這里先不選擇Main class,選擇最上方的Generate the manifest file(生成清單文件), 勾上Save the manifest in the workspace(將清單保存在工作空間中),在Manifest file(清單文件):中輸入file的名稱,如/testProject/main,(其中testProject為工程名,main為manifest file的名稱)點(diǎn)擊finish。
生成的jar文件一運(yùn)行就會(huì)產(chǎn)生錯(cuò)誤:couldn't find main class
2.回到工程,打開剛剛生成的main,在這里要輸入如下信息:
Manifest-Version: 1.0
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties
Class-Path: jxl.jar
其中,Manifest-Version: 1.0為剛剛自動(dòng)生成的manifest版本號;
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties為Main class所在類;
Class-Path: jxl.jar為外部jar包名稱,這里是告訴導(dǎo)出的jar包,所要用到的外部的jar包的路徑及名稱。
上面都做完了就可以導(dǎo)出帶外部jar包的jar包了
3.選中工程--->右鍵,Export--->Java--->JAR file--->選擇jar file的路徑及名稱--->next--->next--->next,這時(shí)又來到了選擇main class的窗口,但這里也不選擇main class,選擇Use existing manifest from workspace,在Manifest file:里選擇剛剛生成的main,如:/testProject/main,點(diǎn)擊finish,到此就大功告成啦;假設(shè)生成的jar包的名稱為test.jar,那么Class-Path中引入的jxl.jar要和test.jar位于同一個(gè)目錄下。
不要選main.mf和manifest文件,在后面的選擇existing manifest文件,變寫manifest時(shí):
Manifest-Version: 1.0
Main-Class:com.test.GameFrame ; class:后面一定要有且只有1個(gè)空格
Class-Path: nimrodlf-1.2.jar liquidlnf.jar ;path 后面一定要有且只有1個(gè)空格
另外,一定要注意Main-Class,Class-Path等后面會(huì)有一個(gè)直接的空格,不然會(huì)提示格式錯(cuò)誤
最后必須有換行,不能有空格. 這個(gè)也是要注意的. 否則依然提示沒有mainclass
jar creation failed
detail:invalid header field
用export runnable jar file時(shí),不需要 么Class-Path中引入的jxl.jar要和test.jar位于同一個(gè)目錄下。比較簡單。
4.注意點(diǎn):
如果想在命令行中運(yùn)行剛剛生成的jar,命令如下:
C:\Documents and Settings\Administrator\桌面>java -jar test.jar
如果在jar中有一些System.out.prinln語句,運(yùn)行后想看看打印出的內(nèi)容,可以用一下命令:
C:\Documents and Settings\Administrator\桌面>java -jar test.jar >log.txt
輸出信息會(huì)被打印到log.txt中,當(dāng)然log.txt自動(dòng)生成,并位于和test.jar一個(gè)目錄中。
這里也可以新建一個(gè)start.bat文件,創(chuàng)建后;右鍵---編輯,輸入:java -jar test.jar >log.txt;以后直接雙擊start.bat即可運(yùn)行test.jar啦。
E盤,則你需要導(dǎo)入得包也要放在這個(gè)目錄里。
第二種方案
將第三方包直接拷貝到j(luò)dk得安裝目錄中的jre/lib/ext/中,這時(shí)候我們需要重啟一下Eclipse,這樣才能將剛才的那個(gè)包加載進(jìn)自動(dòng)生成的系統(tǒng)庫中,這時(shí)候按照上面的做法打包出來的jar包
第三種方案.用Fat jar插件來打包有引用外部jar包的項(xiàng)目(J2SE)
1 如果你在程序開發(fā)的時(shí)候用到了第三方提供的API或者其它附屬資源,在你導(dǎo)出生成jar文件時(shí)你必須將第三方的文件一并導(dǎo)出,不然你的程序運(yùn)行將達(dá)不到你想要的結(jié)果.
你可以利用Fat jar插件生成jar,Fat jar 的下載地址:http://sourceforge.net/projects/fjep/ 下載的文件是net.sf.fjep.fatjar_0.0.31.zip,解壓縮后你會(huì)看到plugins文件夾中的net.sf.fjep.fatjar_0.0.31.jar文件(簡稱Fat jar).
插件安裝:把Fat jar文件拷貝到你的eclipse目錄下的plugins中..重新啟動(dòng)你的eclipse平臺(tái),然后查看Window---preferences, 彈出的窗口中有Fat jar preferences這一項(xiàng)則說明你已經(jīng)安裝成功了,沒有這一項(xiàng)則未安裝成功,需要多做如下幾步操作:到你的eclipse目錄下的 configuration---org.eclipse.update,并刪除platform.xml文件,然后重新啟動(dòng)eclipse.查看 Window---preferences,你會(huì)發(fā)現(xiàn)Fat jar preferences這一項(xiàng).恭喜你安裝成功了
2.用Fat jar打包:右擊你的項(xiàng)目,選項(xiàng)列表中有Build Fat jar這一項(xiàng),選擇它,彈出的窗口你會(huì)覺得特別親切,一目了然使用很方便,點(diǎn)擊Browser(Main-Class選擇你的主類)---next--- finish(勾選你需要一起打包的資源,默認(rèn)為全部勾選).瞧,jar文件就生成在你的工程項(xiàng)目中了.運(yùn)行它,一切順利.