洞察探索如何利用FinClip小程序技术优化小游戏平台的跨平台开发与管理
650
2023-06-24
Springboot jar文件如何打包zip在linux环境运行
这篇文章主要介绍了Springboot jar文件如何打包zip在linux环境运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1.添加打包配置文件
1.1 assembly.xml
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://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">
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://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">
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:Paralhttp://lelGCThreads=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.测试
测试成功
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~