標籤:路徑 包名 方便 bsp tools.jar color 背景 不能 com
背景:記錄在linux環境下部署jar程式的過程
1 部署過程記錄1.1 程式結構
這裡的main函數就在DemRest2.java 檔案中。
為了部署方便,要做到以下兩點:
1 在匯出的jar包中不包含依賴的jar檔案
2 程式用到的設定檔可以讓使用者進行自訂 ,不將其放在jar包中。
1.2 匯出jar包
這裡匯出普通的jar包即可。為了方便傳輸,只匯出必須的程式檔案。
在jar包匯出後,進入匯出的jar包中,將設定檔tws.properties檔案刪除。
1.3 程式部署
將所有需要的jar包放在lib目錄下面,包括我們匯出工程的jar包tws-client-demo.jar
在使用者自訂目錄中,放置運行指令碼和設定檔。
ps:運行指令碼所在的目錄,就相當於程式啟動並執行根目錄,所有的設定檔和運行指令碼放置在同一目錄即可。
這裡程式中怎麼讀取設定檔,還需要好好研究。。。。。。。
#!/bin/shsourceMsgPath=/home/tws/server/tws-test/userMsg/lxw/source /etc/profilefor i in $HOME/server/tws-test/lib/*; do CLASSPATH=$i:"$CLASSPATH";doneexport CLASSPATH=.:${CLASSPATH}java demo.rest.DemRest2 $sourceMsgPath$1echo "Success!"
對照以上指令碼進行解釋:
運行程式:
在使用者目錄下面,程式能夠讀到jar包外部的設定檔。
2 標準指令碼
在網上找的一個指令碼範例:
在編寫shell指令碼出現錯誤時候,可以作為參考:
#! /bin/shexport JAVA_HOME=/usr/java/jdk1.6.0_18export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarfor i in lib/*.jar; do CLASSPATH=$i:${CLASSPATH} doneexport CLASSPATH=.:${CLASSPATH}java -cp ${CLASSPATH} main方法所在包名.main方法所在的類名
如果上述指令碼不能順利執行,可以嘗試
#!/bin/bash後追加source /etc/profilesource ~/.bash_profile
測試下。。
java -cp java的cp命令java -cp .;c:\dir1\lib.jar Test -cp 和 -classpath 一樣,是指定類運行所依賴其他類的路徑,通常是類庫,jar包之類,需要全路徑到jar包,window上分號“;” 分隔,linux上是分號“:”分隔。不支援萬用字元,需要列出所有jar包,用一點“.”代表當前路徑。
linux伺服器部署jar包以及shell指令碼的書寫