1. 程式人生 > >jar包如何在windows、Linux下執行部署

jar包如何在windows、Linux下執行部署

jar包最簡單的執行方式莫過於java -jar jar_file_path這種方式,但大部分時候,我們的jar包可能都不支援單獨執行,可以採用以下方法

1、首先建立以下資料夾或者目錄

project

--bin

--config

--lib

--log

2、建立好上述路徑後,如果是Windows平臺,在bin資料夾下放以下檔案base-run.bat和project-run.bat(執行時直接雙擊該檔案)

其中base-run.bat內容如以下:

SET _CLASSPATHCOMPONENT=%1
:argCheck
IF %2a==a GOTO gotAllArgs
SHIFT
SET _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1
GOTO argCheck
:gotAllArgs
SET CLASSPATH=%_CLASSPATHCOMPONENT%;%CLASSPATH%

project-run.bat檔案內容如以下:

echo off
set TERMBASE= ..
set properties=D:\study\project\properties
set JAVA_HOME=D:\java\jdk1.8.1
set CLASSPATH=
FOR %%i IN (%TERMBASE%\lib\*.jar) DO CALL base-run.bat %%i
set CLASSPATH=%CLASSPATH%;%properties%
echo %CLASSPATH%
%JAVA_HOME%\bin\java -cp "%CLASSPATH%" com.main.DemoApplication
pause

如果是Linux平臺,則放置propoject-run.sh檔案(注意需要給該檔案加可執行許可權,執行chmod +x *.sh即可,執行時直接在當前路徑下執行./properject-run.sh即可),該檔案內容如以下

#!/bin/bash

export PROJECT_BASE=/opt/project
export JAVA_HOME=/usr/java/jdk1.8.1
LIB_DIR=$PROJECT_BASE/lib


cnt=`ps -ef | grep "com.main.DemoApplication" | grep -v grep | wc -l`
if [ $cnt -gt 0 ]; then
    echo "已經運行了一個相同例項,請停止其它例項再試。"
    exit 1
fi

CP3=$(JARS=("$LIB_DIR"/*.jar); IFS=:; echo "${JARS[*]}")

CFG=$PROJECT_BASE/config

$JAVA_HOME/bin/java -cp "$CFG:$CP3" com.main.DemoApplication

3、config目錄下可以存放專案配置檔案,比如application.properties等

4、在lib目錄下存放依賴的jar包和專案程式碼打包成的jar

5、log目錄可以作為日誌路徑