Springboot jar文件如何打包zip在linux環(huán)境運(yùn)行
這篇文章主要介紹了Springboot jar文件如何打包zip在linux環(huán)境運(yùn)行,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
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í)行,不會(huì)影響到日志的輸出位置等 #------------------------------------------------------------------------------------------------------------- if [ ! -n "$JAVA_HOME" ]; then export JAVA_HOME="/export/server/jdk1.8.0_141" fi #------------------------------------------------------------------------------------------------------------- # 系統(tǒng)運(yùn)行參數(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)境變量擴(kuò)充,即感嘆號(hào)間的值不會(huì)因跳出循環(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啟動(dòng)類參數(shù)###################### 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
執(zhí)行完命令后zip包在target文件路徑下生成
3.linux啟動(dòng)服務(wù)
上傳并解壓zip包
啟動(dòng)成功
4.測(cè)試
測(cè)試成功
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot調(diào)用支付寶第三方接口(沙箱環(huán)境)
這篇文章主要介紹了springboot+調(diào)用支付寶第三方接口(沙箱環(huán)境),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10java 動(dòng)態(tài)加載的實(shí)現(xiàn)代碼
這篇文章主要介紹了java 動(dòng)態(tài)加載的實(shí)現(xiàn)代碼的相關(guān)資料,Java動(dòng)態(tài)加載類主要是為了不改變主程序代碼,通過修改配置文件就可以操作不同的對(duì)象執(zhí)行不同的功能,需要的朋友可以參考下2017-07-07Java線程基本使用之如何實(shí)現(xiàn)Runnable接口
這篇文章主要介紹了Java線程基本使用之如何實(shí)現(xiàn)Runnable接口問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01java.util.concurrent.ExecutionException 問題解決方法
這篇文章主要介紹了java.util.concurrent.ExecutionException 問題解決方法的相關(guān)資料,需要的朋友可以參考下2016-11-11IDEA調(diào)試源碼小技巧之辨別抽象類或接口多種實(shí)現(xiàn)類的正確路徑
這篇文章主要介紹了IDEA調(diào)試源碼小技巧之辨別抽象類或接口多種實(shí)現(xiàn)類的正確路徑,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Spring Data JPA中的動(dòng)態(tài)查詢實(shí)例
本篇文章主要介紹了詳解Spring Data JPA中的動(dòng)態(tài)查詢。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04Spring gateway配置Spring Security實(shí)現(xiàn)統(tǒng)一權(quán)限驗(yàn)證與授權(quán)示例源碼
這篇文章主要介紹了Spring gateway配置Spring Security實(shí)現(xiàn)統(tǒng)一權(quán)限驗(yàn)證與授權(quán),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07詳解SpringMVC和MyBatis框架開發(fā)環(huán)境搭建和簡(jiǎn)單實(shí)用
這篇文章主要介紹了詳解SpringMVC和MyBatis框架開發(fā)環(huán)境搭建和簡(jiǎn)單實(shí)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05springboot做代理分發(fā)服務(wù)+代理鑒權(quán)的實(shí)現(xiàn)過程
這篇文章主要介紹了springboot做代理分發(fā)服務(wù)+代理鑒權(quán)的實(shí)現(xiàn)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Java創(chuàng)建二叉搜索樹,實(shí)現(xiàn)搜索,插入,刪除的操作實(shí)例
下面小編就為大家分享一篇Java創(chuàng)建二叉搜索樹,實(shí)現(xiàn)搜索,插入,刪除的操作實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-12-12