溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Springboot jar文件怎么打包zip在linux環(huán)境運行

發(fā)布時間:2021-02-01 11:50:01 來源:億速云 閱讀:196 作者:小新 欄目:編程語言

小編給大家分享一下Springboot jar文件怎么打包zip在linux環(huán)境運行,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1.添加打包配置文件

1.1 assembly.xml

<assembly
  xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  <dependencySets>
    <dependencySet>
      <useProjectArtifact>true</useProjectArtifact>
      <outputDirectory>lib</outputDirectory>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}/bin</directory>
      <outputDirectory>/bin</outputDirectory>
      <fileMode>0777</fileMode>
    </fileSet>
    <fileSet>
      <directory>${project.build.directory}/conf</directory>
      <outputDirectory>/conf</outputDirectory>      
      <fileMode>0644</fileMode>
    </fileSet>
  </fileSets>
</assembly>

1.2 serverStatus.sh

#!/bin/sh
if [ ! -n "$JAVA_HOME" ]; then
  export JAVA_HOME="/export/server/jdk1.8.0_141"
fi
APP_MAIN=${application.main.class}
PID=0

getPID(){
  javaps=`$JAVA_HOME/bin/jps -l | grep $APP_MAIN`
  if [ -n "$javaps" ]; then
    PID=`echo $javaps | awk '{print $1}'`
  else
    PID=0
  fi
}

getServerStatus(){
  getPID
  echo "================================================================================================================"
  if [ $PID -ne 0 ]; then
    echo "$APP_MAIN is running(PID=$PID)"
    echo "================================================================================================================"
  else
    echo "$APP_MAIN is not running"
    echo "================================================================================================================"
  fi
}
getServerStatus

1.3 shutdown.sh

#!/bin/sh
if [ ! -n "$JAVA_HOME" ]; then
  export JAVA_HOME="/export/server/jdk1.8.0_141"
fi
APP_MAIN=${application.main.class}
PID=0

getPID(){
  javaps=`$JAVA_HOME/bin/jps -l | grep $APP_MAIN`
  if [ -n "$javaps" ]; then
    PID=`echo $javaps | awk '{print $1}'`
  else
    PID=0
  fi
}

shutdown(){
  getPID
  echo "================================================================================================================"
  if [ $PID -ne 0 ]; then
    echo -n "Stopping $APP_MAIN(PID=$PID)..."
    kill -9 $PID
    if [ $? -eq 0 ]; then
      echo "[Success]"
      echo "================================================================================================================"
    else
      echo "[Failed]"
      echo "================================================================================================================"
    fi
    getPID
    if [ $PID -ne 0 ]; then
      shutdown
    fi
  else
    echo "$APP_MAIN is not running"
    echo "================================================================================================================"
  fi
}

shutdown

1.4 startup.sh

#!/bin/sh
#-------------------------------------------------------------------------------------------------------------
#該腳本的使用方式為-->[sh startup.sh]
#該腳本可在服務(wù)器上的任意目錄下執(zhí)行,不會影響到日志的輸出位置等
#-------------------------------------------------------------------------------------------------------------
if [ ! -n "$JAVA_HOME" ]; then
  export JAVA_HOME="/export/server/jdk1.8.0_141"
fi

#-------------------------------------------------------------------------------------------------------------
#    系統(tǒng)運行參數(shù)
#-------------------------------------------------------------------------------------------------------------
DIR=$(cd "$(dirname "$0")"; pwd)
APP_HOME=${DIR}/..
CLASSPATH=$APP_HOME/conf
APP_LOG=${APP_HOME}/logs
APP_CONFIG=${APP_HOME}/conf/application.yml
APP_MAIN=${application.main.class}

JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx512m -Xmn128m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:MaxGCPauseMillis=850 -XX:+PrintGCDetails -Xloggc:$APP_LOG/gc.log -Dfile.encoding=UTF-8"
JAVA_OPTS="$JAVA_OPTS -DlogPath=$APP_LOG"
JAVA_OPTS="$JAVA_OPTS -Dconf.config=file:${APP_CONFIG}"

echo "JAVA_HOME="$JAVA_HOME
echo "CLASSPATH="$CLASSPATH
echo "JAVA_OPTS="$JAVA_OPTS

#-------------------------------------------------------------------------------------------------------------
#  程序開始
#-------------------------------------------------------------------------------------------------------------
for appJar in "$APP_HOME"/lib/*.jar;
do
  CLASSPATH="$CLASSPATH":"$appJar"
done
PID=0

getPID(){
  javaps=`$JAVA_HOME/bin/jps -l | grep $APP_MAIN`
  if [ -n "$javaps" ]; then
    PID=`echo $javaps | awk '{print $1}'`
  else
    PID=0
  fi
}

startup(){
  getPID
  echo "================================================================================================================"
  if [ $PID -ne 0 ]; then
    echo "$APP_MAIN already started(PID=$PID)"
    echo "================================================================================================================"
  else
    echo -n "Starting $APP_MAIN"
     if [ ! -d "$APP_LOG" ]; then
      mkdir "$APP_LOG"
     fi
    nohup $JAVA_HOME/bin/java $JAVA_OPTS -classpath $CLASSPATH $APP_MAIN &
    for i in $(seq 5)
    do
    sleep 0.8
    echo -e ".\c"
    done
    getPID
    if [ $PID -ne 0 ]; then
      echo "(PID=$PID)...[Success]"
      echo "================================================================================================================"
    else
      echo "[Failed]"
      echo "================================================================================================================"
    fi
  fi
}

startup

1.5 run.bat

title face-server
@echo off 
rem ##############設(shè)置延遲環(huán)境變量擴充,即感嘆號間的值不會因跳出循環(huán)而為空值。################
setlocal enabledelayedexpansion 

rem ###############java命令######################
set JAVA=%JAVA_HOME%\bin\java.exe 

rem ###############jvm參數(shù)######################
set OPTS=-Xms512M -Xmx512M -XX:+AggressiveOpts -XX:+UseParallelGC -XX:NewSize=64M 

rem ###############agent啟動類參數(shù)######################
set serverMain=cn.micropattern.face.Application

echo JAVA: %JAVA% 
echo CLASSPATH: %CP% 
echo OPTS: %OPTS%
java %OPTS% -cp "../lib/*;../conf" %serverMain% 
PAUSE

Springboot jar文件怎么打包zip在linux環(huán)境運行

2.打包install -Dmaven.test.skip=true

Springboot jar文件怎么打包zip在linux環(huán)境運行

執(zhí)行完命令后zip包在target文件路徑下生成

Springboot jar文件怎么打包zip在linux環(huán)境運行

3.linux啟動服務(wù)

上傳并解壓zip包

Springboot jar文件怎么打包zip在linux環(huán)境運行

Springboot jar文件怎么打包zip在linux環(huán)境運行

啟動成功

4.測試

Springboot jar文件怎么打包zip在linux環(huán)境運行

看完了這篇文章,相信你對“Springboot jar文件怎么打包zip在linux環(huán)境運行”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI