Centos命令列執行Java程式(引入外部Jar)
本文講的東西比較膚淺,高手們請路過,有不準確的地方,歡迎交流指正。
最近在windows下寫了一個java程式,需要拿到centos系統中執行,本人在虛擬機器上安裝了centos系統,鼓搗了半天,翻閱了一下資料,有些東西記錄一下,以便自己查閱,供有有興趣人蔘考。
首先,確保系統安裝了JDK,可在命令列中輸入java -version檢視,如果安裝了,則顯示版本資訊。
1)在命令列中編譯、執行程式
將整個工程目錄拷貝到centos系統中,其中包括需要引入的外部jar包,儲存在工程下lib資料夾中(此資料夾為手動建立)
開啟命令列工具,進入到系統.java檔案目錄,我的檔案目錄結構為/MyFile/src/com/,我的lib資料夾與src在同一目錄,其下包含MyHello.java檔案,
命令列輸入 javac -cp ../../lib/xxxx.jar MyHello.java,告知外部jar包路徑,回車後會在此資料夾下生成MyHello.class檔案,然後回到java檔案包名所在目錄,即src目錄
命令列輸入 java -cp .:../lib/xxxx.jar com.MyHello,便可執行java程式。(紅色字型為程式的包名,一定要回到包的根目錄執行)
2)將程式打成jar包後,在centos上執行
打jar包的過程,我直接上圖
將生成的jar拷貝到centos系統中,在命令列中輸入 java -jar FilterData.jar便可執行
需要注意的問題:
執行後會出現異常
Unsupported major.minor version 51.0
Could not find the main class: xxxxx. Program will exit.
這個應該是兩個伺服器上的JDK版本不一致,centos伺服器上的JDK版本低於系統使用的JDK版本。
解決:專案------>右鍵------>屬性------>Java Compiler------>Compiler Compliance Level------>選擇你使用的JDK版本------>應用。
不同的JDK版本使用的major.minor不同,所以會導致這個錯誤。