有時候需要將j2se工程導(dǎo)出,這樣可以在別處運(yùn)作,就不必拘泥于開發(fā)感覺中才能運(yùn)行了。
具體做法如下:
方法一:(工程沒有引用外部jar包時,直接導(dǎo)出)
選中工程---->右鍵,Export...--->Java--->JAR file--->next-->選擇jar file的路徑及名稱-->next-->next---> 選擇main class--->finish.
方法2:
當(dāng)工程引用了其他的外部jar時,由于eclipse不支持同時導(dǎo)出外部jar包的功能,所以比較麻煩一點;具體步驟如下:
生成manifest file:選中工程--->右鍵,Export--->Java--->JAR file--->選擇jar file的路徑及名稱--->next--->next--->next;
此時來到了方法1中要選擇main class的窗口,但這里先不選擇main class,選擇最上方的Generate the manifest file, 勾上Save the manifest in the workspace,在Manifest file:中輸入file的名稱,如/testProject/main,(其中testProject為工程名,main為manifest file的名稱)點擊finish,回到工程,打開剛剛生成的main,在這里要輸入如下信息:
Manifest-Version: 1.0
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties
Class-Path: jxl.jar
其中,Manifest-Version: 1.0為剛剛自動生成的manifest版本號;
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties為main class所在類;
Class-Path: jxl.jar為外部jar包名稱,這里是告訴導(dǎo)出的jar包,所要用到的外部的jar包的路徑及名稱。
上面都做完了就可以導(dǎo)出帶外部jar包的jar包了,步驟如下:
選中工程--->右鍵,Export--->Java--->JAR file--->選擇jar file的路徑及名稱--->next--->next--->next,這時又來到了選擇main class的窗口,但這里也不選擇main class,選擇Use existing manifest from workspace,在Manifest file:里選擇剛剛生成的main,如:/testProject/main,點擊finish,到此就大功告成啦;假設(shè)生成的jar包的名稱為test.jar,那么Class-Path中引入的jxl.jar要和test.jar位于同一個目錄下。
這里還有一點要注意:
如果想在命令行中運(yùn)行剛剛生成的jar,命令如下:
java -jar test.jar
如果在jar中有一些System.out.prinln語句,運(yùn)行后想看看打印出的內(nèi)容,可以用一下命令:
java -jar test.jar >log.txt
輸出信息會被打印到log.txt中,當(dāng)然log.txt自動生成,并位于和test.jar一個目錄中。
這里也可以新建一個start.bat文件,創(chuàng)建后;右鍵---編輯,輸入:java -jar test.jar >log.txt;以后直接雙擊start.bat即可運(yùn)行test.jar啦。
1.創(chuàng)建MANIFEST.MF文件,內(nèi)容如下:
Main-Class: com.hp.sp.getawradinfo.MainClass
ClassPath: .\libs\thumbelina.jar .\libs\scheduling.jar .\libs\sax2.jar .\libs\htmlparser.jar .\libs\htmllexer.jar .\libs\filterbuilder.jar .\libs\brokenwin_utility.jar
其中第一行是Main()函數(shù)所在的類
第二行是運(yùn)行程序需要的jar包和類
2.打包命令(command line):
jar cvfm my.jar d:\web_GetKjgg\MANIFEST.MF -C d:\web_getkjgg\ .
這樣包內(nèi)的引用就是相對路徑