springboot打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
image.png

1.6 pom.xml依赖



    4.0.0

    com.test
    springboot-zip
    1.0-SNAPSHOT

    
        com.test.Application
        1.5.9.RELEASE
    

    
        
            org.springframework.boot
            spring-boot-starter-tomcat
            ${spring.boot.version}
        

        
            org.springframework.boot
            spring-boot-starter-actuator
            ${spring.boot.version}
        

        
            org.springframework.boot
            spring-boot-starter-web
            ${spring.boot.version}
        
        
            org.springframework.boot
            spring-boot-starter-freemarker
            ${spring.boot.version}
        

    

    
        src/main/java
        
            
                src/main/resources
                true
                
                    *.properties
                    *.yml
                    *.xml
                
            
            
                src/main/resources
                false
                
                    scripts/*
                    *.properties
                    *.yml
                    *.xml
                
            

            
            
                src/main/resources/scripts
                ${project.build.directory}/bin
                true
                
                    *.sh
                    *.bat
                
            
            
            
                src/main/resources
                ${project.build.directory}/conf
                true
                
                    *.properties
                    *.yml
                    *.xml
                
            

            
            
                lib
                ${project.build.directory}/lib
            
        
        
            
            
            
            
            
            
            
            
            
            
            
            

            
            
                org.apache.maven.plugins
                maven-jar-plugin
                2.6
                
                    ${project.build.directory}/lib
                    
                        
                            true
                            lib/
                        
                    
                    
                        *.xml
                        *.yml
                        *.properties
                    
                
            

            
            
                org.apache.maven.plugins
                maven-dependency-plugin
                
                    
                        copy-dependencies
                        package
                        
                            copy-dependencies
                        
                        
                            ${project.build.directory}/lib
                        
                    
                
            

            

            
            
                maven-source-plugin
                2.4
                
                    true
                    
                    ${project.build.directory}
                
                
                    
                        compile
                        
                            jar
                        
                    
                
            

            
            
                org.apache.maven.plugins
                maven-assembly-plugin
                
                    
                        dfrp-portal
                        
                            
                                
                                    ${application.main.class}
                                
                            
                            
                                src/main/resources/scripts/assembly.xml
                            
                            
                            
                            
                            
                            ${project.name}-${version}
                        
                        package
                        
                            single
                        
                    
                
            
        
    

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


image.png

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

3.linux启动服务

image.png

上传并解压zip包

image.png

————————————————
版权声明:本文为CSDN博主「奔奔老王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lao_wang_tou/article/details/109483465

你可能感兴趣的:(springboot打zip包运行linux环境中)