spring boot 引用 jar 包分離部署


maven 打包時依賴 jar 包分離, pom 添加

<!--依賴復制到lib-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>
                    ${project.build.directory}/lib
                </outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

正常 maven 打包之后會在 target 下添加 lib, 里面是所有依賴, jar 包只有該項目的代碼, 如果有靜態文件(包括 jsp)可放入 static 目錄

服務器腳本:

#! /bin/sh

MAIN_JAR_NAME="xxx-0.0.1-SNAPSHOT.jar"
MAIN_CLASS="com.dahua.xxxApplication"

PROJECT_HOME=$(cd `dirname $0`; pwd)

cd ${PROJECT_HOME}

PROJECT_LIB=${PROJECT_HOME}/code/lib

PROJECT_CONF=${PROJECT_HOME}/code/conf
PROJECT_JAR=${PROJECT_HOME}/${MAIN_JAR_NAME}

CLASSPATH=.:${PROJECT_CONF}:${PROJECT_JAR}
for i in ${PROJECT_LIB}/*.jar ; do
  CLASSPATH=${CLASSPATH}:${i}
done

DFlag=${MAIN_JAR_NAME}_${MAIN_CLASS}
CUR_SERVICE=`ps -ef | grep ${DFlag} | grep -v "grep" | awk '{print $2}'`
for PID in ${CUR_SERVICE}
do
   kill -9 ${PID}
   echo "結束進程: ${PID}"
done

nohup java -server -DFlag=${DFlag} -Dfile.encoding=UTF-8 -cp ${CLASSPATH} ${MAIN_CLASS} $@ 1>>nohup.out 2>&1 &

最終目錄結構如下

如果有疑問歡迎留言討論


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM