您好,登錄后才能下訂單哦!
小編給大家分享一下Springboot jar文件怎么打包zip在linux環境運行,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
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] #該腳本可在服務器上的任意目錄下執行,不會影響到日志的輸出位置等 #------------------------------------------------------------------------------------------------------------- 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.測試
看完了這篇文章,相信你對“Springboot jar文件怎么打包zip在linux環境運行”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。