Jadual Kandungan
spring boot打包以及部署" >spring boot打包以及部署
一、打包
二、部署
Rumah Java javaTutorial spring boot如何打包?如何在centos下部署?

spring boot如何打包?如何在centos下部署?

Sep 26, 2018 pm 03:30 PM
spring boot

本篇文章给大家带来的内容是关于spring boot如何打包?如何在centos下部署?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

spring boot打包以及部署

一、打包

springboot的打包方式有很多种。有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的。这里主要介绍如何打成jar进行部署。不推荐用war,因为springboot适合前后端分离,打成jar进行部署更合适。

需要在pom.xml中增加主程序入口

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <executable>true</executable>
            </configuration>
        </plugin>
    </plugins></build>
Salin selepas log masuk

在idea工具中可视化工具打包,如图

通过命令行来打包

mvn clean package -Dmaven.test.skip=true

二、部署

官网文档部署说明

按照这上面部署被坑惨了。。

下面整理下自己部署的sh脚本

1、XXX.sh,此sh放到和jar统一目录即可

#!/bin/sh
### BEGIN INIT INFO
# Provides:          lanwei
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: XXX service
# Description:       XXX service
### END INIT INFO
echo "Starting...."
APP_NAME=$(echo $(basename $0) | sed -e &#39;s/^[SK][0-9]*//&#39; -e &#39;s/\.sh$//&#39;)
APP_HOME=/usr/software/${APP_NAME}
#这里需要配置环境,dev test stg prd
APP_ENV="dev"
#配置jar
APP_JAR=${APP_HOME}/XXXX.jar
usage() {
    echo "Usage: sh ${APP_NAME} [start|stop|restart]"
    exit 1
}
##################################################
# Some utility functions
##################################################
findDirectory()
{
  local L OP=$1
  shift
  for L in "$@"; do
    [ "$OP" "$L" ] || continue
    printf %s "$L"
    break
  done
}
echo "APP_ENV   :   ${APP_ENV}"
echo "APP_HOME  :   ${APP_HOME}"
echo "APP_NAME  :   ${APP_NAME}"
echo "APP_JAR   :   ${APP_JAR}"
#####################################################
# Find a location for the pid file
#####################################################
if [ -z "$APP_RUN" ]
then
  APP_RUN=$(findDirectory -w /var/run /usr/var/run /tmp)
fi
#APP_RUN=/var/run
echo "APP_RUN   :   ${APP_RUN}"
#####################################################
# Find a pid
#####################################################
if [ -z "$APP_PID" ]
then
  APP_PID="$APP_RUN/${APP_NAME}.pid"
fi
echo "APP_PID   :   ${APP_PID}"
LOG=${APP_HOME}/logs/${APP_ENV}.log
ERROR_LOG=${APP_HOME}/logs/${APP_ENV}_err.log
case $1 in
    start)
        echo "Starting ${APP_NAME} ..."
        if [ ! -f $APP_PID ]; then
            cd ${APP_HOME}
            nohup java -jar $APP_JAR --spring.profiles.active=${APP_ENV} > $LOG 2> $ERROR_LOG &
                        echo $! > $APP_PID
            echo "$APP_NAME started ..."
        else
            echo "$APP_NAME is already running ..."
        fi
    ;;
    stop)
        if [ -f $APP_PID ]; then
            PID=$(cat $APP_PID);
                        echo "$APP_NAME PID is ${PID}"
            echo "$APP_NAME stoping ..."
            kill $PID;
            echo "$APP_NAME stopped ..."
            rm $APP_PID
        else
            echo "$APP_NAME is not running ..."
        fi
    ;;
    restart)
        if [ -f $APP_PID ]; then
            PID=$(cat $APP_PID);
                        echo "$APP_NAME PID is ${PID}"
            echo "$APP_NAME stopping ...";
            kill $PID;
            echo "$APP_NAME stopped ...";
            rm $APP_PID
            echo "$APP_NAME starting ..."
            cd ${APP_HOME}
            nohup java -jar $APP_JAR --spring.profiles.active=${APP_ENV} > $LOG 2> $ERROR_LOG &
                        echo $! > $APP_PID
            echo "$APP_NAME started ..."
        else
            echo "$APP_NAME is not running ..."
            echo "$APP_NAME starting ..."
                        cd ${APP_HOME}
            nohup java -jar $APP_JAR --spring.profiles.active=${APP_ENV} > $LOG 2> $ERROR_LOG &
                        echo $! > $APP_PID
            echo "$APP_NAME started ..."
        fi
    ;;
esac
Salin selepas log masuk

2、在/etc/init.d/下创建自己的服务名称文件这里比如myapp.sh

#!/bin/sh
#
# /etc/init.d/sms-web
# chkconfig: 345 63 37
# description: activemq servlet container.
# processname: activemq 5.14.1

# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network

export JAVA_HOME=/usr/local/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export MYAPP_WEB_HOME=/usr/software/myapp

case $1 in
    start)
        sh $MYAPP_WEB_HOME/myapp.sh start
    ;;
    stop)
        sh $MYAPP_WEB_HOME/myapp.sh stop
    ;;
    restart)
        sh $MYAPP_WEB_HOME/myapp.sh restart
    ;;

esac
exit 0
Salin selepas log masuk

在/etc/init.d/下 chmod +x myapp.sh赋权限   

chkconfig --list查看服务列表,如果没有, 添加chkconfig --add myapp到服务中。  

设置开机启动chkconfig myapp on

Atas ialah kandungan terperinci spring boot如何打包?如何在centos下部署?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Aug 15, 2023 pm 04:12 PM

Dalam projek sebenar, kami cuba mengelakkan transaksi yang diedarkan. Walau bagaimanapun, kadangkala ia benar-benar perlu untuk melakukan beberapa pemisahan perkhidmatan, yang akan membawa kepada masalah transaksi yang diedarkan. Pada masa yang sama, transaksi yang diedarkan juga ditanya di pasaran semasa temu bual Anda boleh berlatih dengan kes ini, dan anda boleh bercakap tentang 123 dalam temu bual.

Cara menggunakan Spring Boot untuk membina aplikasi blockchain dan kontrak pintar Cara menggunakan Spring Boot untuk membina aplikasi blockchain dan kontrak pintar Jun 22, 2023 am 09:33 AM

Dengan peningkatan mata wang digital seperti Bitcoin, teknologi blockchain secara beransur-ansur menjadi topik hangat. Kontrak pintar boleh dianggap sebagai bahagian penting dalam teknologi blockchain. SpringBoot, sebagai rangka kerja pembangunan back-end Java yang popular, juga boleh digunakan untuk membina aplikasi blockchain dan kontrak pintar. Artikel ini akan memperkenalkan cara menggunakan SpringBoot untuk membina aplikasi dan kontrak pintar berdasarkan teknologi blockchain. 1. SpringBoot dan blockchain Pertama, kita perlu memahami beberapa konsep asas yang berkaitan dengan blockchain. Rantaian sekat

Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot Jun 23, 2023 am 09:09 AM

Dengan perkembangan globalisasi, semakin banyak laman web dan aplikasi perlu menyediakan sokongan berbilang bahasa dan fungsi pengantarabangsaan. Bagi pembangun, melaksanakan fungsi ini bukanlah tugas yang mudah kerana ia memerlukan pertimbangan dari banyak aspek, seperti terjemahan bahasa, tarikh, masa dan format mata wang, dsb. Walau bagaimanapun, menggunakan rangka kerja SpringBoot, kami boleh melaksanakan sokongan berbilang bahasa dan aplikasi antarabangsa dengan mudah. Mula-mula, marilah kita memahami antara muka LocaleResolver yang disediakan oleh SpringBoot. Loc

Cara menggunakan Spring Boot untuk membina aplikasi pemprosesan data besar Cara menggunakan Spring Boot untuk membina aplikasi pemprosesan data besar Jun 23, 2023 am 09:07 AM

Dengan kemunculan era data besar, semakin banyak syarikat mula memahami dan mengiktiraf nilai data besar dan menerapkannya dalam perniagaan. Masalah yang datang dengannya ialah bagaimana mengendalikan aliran data yang besar ini. Dalam kes ini, aplikasi pemprosesan data besar telah menjadi sesuatu yang mesti dipertimbangkan oleh setiap perusahaan. Bagi pembangun, cara menggunakan SpringBoot untuk membina aplikasi pemprosesan data besar yang cekap juga merupakan isu yang sangat penting. SpringBoot ialah rangka kerja Java yang sangat popular yang membolehkan

Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus Jun 22, 2023 pm 09:27 PM

Dalam proses pembangunan aplikasi web Java, teknologi pemetaan ORM (Object-RelationalMapping) digunakan untuk memetakan data hubungan dalam pangkalan data kepada objek Java, menjadikannya mudah untuk pembangun mengakses dan mengendalikan data. SpringBoot, sebagai salah satu rangka kerja pembangunan web Java yang paling popular pada masa ini, telah menyediakan cara untuk mengintegrasikan MyBatis, dan MyBatisPlus ialah rangka kerja ORM yang dilanjutkan berdasarkan MyBatis.

Penyepaduan dan penggunaan pangkalan data Spring Boot dan NoSQL Penyepaduan dan penggunaan pangkalan data Spring Boot dan NoSQL Jun 22, 2023 pm 10:34 PM

Dengan perkembangan Internet, analisis data besar dan pemprosesan maklumat masa nyata telah menjadi keperluan penting bagi perusahaan. Untuk memenuhi keperluan tersebut, pangkalan data hubungan tradisional tidak lagi memenuhi keperluan pembangunan perniagaan dan teknologi. Sebaliknya, menggunakan pangkalan data NoSQL telah menjadi pilihan penting. Dalam artikel ini, kita akan membincangkan penggunaan SpringBoot yang disepadukan dengan pangkalan data NoSQL untuk membolehkan pembangunan dan penggunaan aplikasi moden. Apakah pangkalan data NoSQL?

Caching data dan sistem storan teragih berdasarkan Spring Boot Caching data dan sistem storan teragih berdasarkan Spring Boot Jun 22, 2023 am 09:48 AM

Dengan pembangunan dan pempopularan Internet yang berterusan, permintaan untuk pemprosesan dan penyimpanan data juga semakin meningkat Cara memproses dan menyimpan data dengan cekap dan boleh dipercayai telah menjadi topik hangat di kalangan industri dan penyelidik. Sistem caching dan penyimpanan data yang diedarkan berdasarkan SpringBoot adalah penyelesaian yang telah menarik banyak perhatian dalam beberapa tahun kebelakangan ini. Apakah sistem caching dan penyimpanan data teragih? Sistem caching dan penyimpanan data teragih merujuk kepada penyimpanan data teragih melalui berbilang nod (pelayan), yang meningkatkan keselamatan dan kebolehpercayaan data dan juga boleh meningkatkan pemprosesan data.

Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix Jun 22, 2023 pm 12:30 PM

Memandangkan perniagaan moden semakin bergantung pada pelbagai aplikasi dan sistem yang berbeza, integrasi perusahaan menjadi lebih penting. Bas Perkhidmatan Perusahaan (ESB) ialah model seni bina integrasi yang menghubungkan sistem dan aplikasi yang berbeza bersama-sama untuk menyediakan pertukaran data biasa dan perkhidmatan penghalaan mesej untuk mencapai penyepaduan aplikasi peringkat perusahaan. Menggunakan SpringBoot dan ApacheServiceMix, kami boleh membina sistem ESB dengan mudah Artikel ini akan memperkenalkan cara melaksanakannya. SpringBoot dan A

See all articles