热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Springbootjar文件如何打包zip在linux环境运行

这篇文章主要介绍了Springbootjar文件如何打包zip在linux环境运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了Springboot jar文件如何打包zip在linux环境运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.添加打包配置文件

1.1 assembly.xml


  bin
  
    zip
  
  
    
      true
      lib
    
  
  
    
      ${project.build.directory}/bin
      /bin
      0777
    
    
      ${project.build.directory}/conf
      /conf      
      0644
    
  

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]
#该脚本可在服务器上的任意目录下执行,不会影响到日志的输出位置等
#-------------------------------------------------------------------------------------------------------------
if [ ! -n "$JAVA_HOME" ]; then
  export JAVA_HOME="/export/server/jdk1.8.0_141"
fi

#-------------------------------------------------------------------------------------------------------------
#    系统运行参数
#-------------------------------------------------------------------------------------------------------------
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 ##############设置延迟环境变量扩充,即感叹号间的值不会因跳出循环而为空值。################
setlocal enabledelayedexpansion 

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

rem ###############jvm参数######################
set OPTS=-Xms512M -Xmx512M -XX:+AggressiveOpts -XX:+UseParallelGC -XX:NewSize=64M 

rem ###############agent启动类参数######################
set serverMain=cn.micropattern.face.Application

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

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

执行完命令后zip包在target文件路径下生成

3.linux启动服务

上传并解压zip包

启动成功

4.测试

测试成功

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
author-avatar
mobiledu2502880273
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有