天天看點

部署java程式

部署java程式

如何得到.class位元組碼?

答:進入myclass.java 檔案所在目錄,執行 javac    -d    directorytoput\   myclass.java。表示編譯myclass.java類,生成myclass.class檔案放在directorytoput\目錄下。

部署java程式

如何運作.class檔案?

答:java執行jar包本質仍是執行.class檔案。直接執行指定class檔案可以用 java -classpath(等價于-cp)  路徑  含main函數的類名。注意隻要類名不要.class字尾。例子見圖1。

部署java程式

圖1 java -cp 指令

如果自己的.class有其他的依賴,可以在多個classpath之間用冒号分隔,如 java -cp ./lib/*:../lib/*  mainclassname

部署java程式

如何得到jar?

答:eclipseide中,右擊項目名,導出為可執行jar包。

部署java程式

如何運作jar?

答:控制台運作。進入jar所在目錄, java-jar

xxx.jar 就可以啦,見圖2。

部署java程式

圖2 java -jar 指令

-d參數

用于給應用程式配置一些屬性。例:

java -d myconfig="d:/config/config.xml" myapp

這樣在myapp中就可以通過system.getproperty("myconfig");獲得這個值了。

部署java程式

xx.jar的結構是怎樣的?

答:可執行jar其實是個壓縮目錄,可以用2345好壓打開。裡面有manifest.mf文本檔案,它規定了程式的入口。裡面有一行(沒有也可以自己随便修改)main-class:,對應着要執行的.class檔案。此例中可以設定為main-class:

com.abc.hello。

jar包有兩種,一種放的是.class檔案,分布在相應的檔案夾中。另一種是.java源檔案,也分布在相應的檔案夾中。

網上的開源項目解壓後一般都有src檔案夾、含.class的xx.jar和含.java 的xx-source.jar。若沒有xx-source.jar而我們又想追蹤源碼,可以手動把src檔案夾壓縮為jar。

部署java程式

運作jar中指定的類。

java -cp xx.jar com.likeyichu.yourclass

用eclipse導出可執行jar包,有三個選項,見圖3。

部署java程式

圖3 可執行jar的打包選項

第一種:沒有我們的jar裡面沒有xx.jar,相當于全部解壓。

第二種:我們jar裡面有依賴的各種xx.jar。

第三種:我們的jar裡面隻有自己的源檔案,其他的打包到另一個檔案夾。之是以這樣還能運作,因為meta_inf檔案有配置classpath,見圖4.

部署java程式

圖4 meta_inf/manifest依賴環境說明

第三種最為靈活,因為很少改動依賴關系,而自己的代碼會經常修改。

繼續閱讀