欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

spring boot 部署為jar包的方法示例

 更新時(shí)間:2017年10月26日 10:24:06   作者:Ryan.Miao  
本篇文章主要介紹了spring boot 部署為jar的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

前言

一直在ide中敲代碼,使用命令行 mvn spring-boot:run 或者 gradlew bootRun 來運(yùn)行spring boot項(xiàng)目。想來放到prod上面也應(yīng)該很簡(jiǎn)單。然而今天試了下,各種問題。最大錯(cuò)誤是1.4的bug:

Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: Unable to resolve persistence unit root URL

這個(gè)錯(cuò)誤使我一直以為自己的代碼有問題。找了半天沒找到,最后想既然命令行可以運(yùn)行ok,那么一個(gè)fat jar失敗肯定不對(duì)了。于是上github去問,以為石沉大海準(zhǔn)備睡覺的。想不到的是spring boot的成員秒回,找到問題是1.4版本中hibernate自動(dòng)配置的問題,想我根本不需要hibernate,刪除就可以了。

github 原問題:https://github.com/spring-projects/spring-boot/issues/6927

部署為可運(yùn)行的jar

spring boot已經(jīng)盡可能把需要配置的東西自動(dòng)化了,我還傻傻的像以前springmvc那樣補(bǔ)充各種配置,比如加一個(gè)數(shù)據(jù)源druid。然而大可不必,使用默認(rèn)的就好,等需求不滿足的時(shí)候,在進(jìn)行修改就可以了。

同樣的,既然內(nèi)置的tomat可以很好的運(yùn)行,為啥非要自己手動(dòng)部署war包?

在gradle build或者maven package之后,會(huì)得到一個(gè)jar,這個(gè)jar是spring boot修改過的jar,可以直接運(yùn)行。

運(yùn)行方式:

java -jar xxxx.jar

看到比較好的linux腳本:

start.sh

#!/bin/sh

rm -f tpid

nohup java -jar xx.jar --spring.profiles.active=dev > /dev/null 2>&1 &

echo $! > tpid

echo Start Success!

stop.sh

#!/bin/sh
APP_NAME=myapp

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
  echo 'Stop Process...'
  kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
  echo 'Kill Process!'
  kill -9 $tpid
else
  echo 'Stop Success!'
fi

check.sh

#!/bin/sh
APP_NAME=myapp

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'App is running.'
else
    echo 'App is NOT running.'
fi

kill.sh

#!/bin/sh
APP_NAME=myapp

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
  echo 'Kill Process!'
  kill -9 $tpid
fi

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring aop 如何通過獲取代理對(duì)象實(shí)現(xiàn)事務(wù)切換

    Spring aop 如何通過獲取代理對(duì)象實(shí)現(xiàn)事務(wù)切換

    這篇文章主要介紹了Spring aop 如何通過獲取代理對(duì)象實(shí)現(xiàn)事務(wù)切換的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java中通過sftp協(xié)議實(shí)現(xiàn)上傳下載的示例代碼

    Java中通過sftp協(xié)議實(shí)現(xiàn)上傳下載的示例代碼

    在java開發(fā)中遇到需要將linux系統(tǒng)中指定目錄下的文件下載到windows本地的需求,本文就來介紹Java中通過sftp協(xié)議實(shí)現(xiàn)上傳下載,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • 學(xué)習(xí)java多線程

    學(xué)習(xí)java多線程

    本文運(yùn)用了大量的代碼講解了java多線程,它可以提高程序并行執(zhí)行的速度,更快的響應(yīng)程序。感興趣的小伙伴一起來看看吧
    2021-08-08
  • java中樂觀鎖與悲觀鎖區(qū)別及使用場(chǎng)景分析

    java中樂觀鎖與悲觀鎖區(qū)別及使用場(chǎng)景分析

    本文主要介紹了java中樂觀鎖與悲觀鎖區(qū)別及使用場(chǎng)景分析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 解決idea web工程修改js文件之后不變化的問題

    解決idea web工程修改js文件之后不變化的問題

    這篇文章主要介紹了解決idea web工程修改js文件之后不變化的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 本地MinIO存儲(chǔ)服務(wù)Java遠(yuǎn)程調(diào)用上傳文件的操作過程

    本地MinIO存儲(chǔ)服務(wù)Java遠(yuǎn)程調(diào)用上傳文件的操作過程

    MinIO是一款高性能、分布式的對(duì)象存儲(chǔ)系統(tǒng),它可以100%的運(yùn)行在標(biāo)準(zhǔn)硬件上,即X86等低成本機(jī)器也能夠很好的運(yùn)行MinIO,這篇文章主要介紹了本地MinIO存儲(chǔ)服務(wù)Java遠(yuǎn)程調(diào)用上傳文件的操作過程,需要的朋友可以參考下
    2023-11-11
  • Java 判斷數(shù)組是否相等的方法示例

    Java 判斷數(shù)組是否相等的方法示例

    這篇文章主要介紹了Java 判斷數(shù)組是否相等的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 基于SpringBoot bootstrap.yml配置未生效的解決

    基于SpringBoot bootstrap.yml配置未生效的解決

    這篇文章主要介紹了基于SpringBoot bootstrap.yml配置未生效的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤解決

    java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤解決

    這篇文章主要給大家介紹了關(guān)于java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤的解決方法,文中介紹的非常詳細(xì),需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2017-03-03
  • Java NIO工作原理的全面分析

    Java NIO工作原理的全面分析

    JDK 1.4 中引入的新輸入輸出 (NIO) 庫在標(biāo)準(zhǔn) Java 代碼中提供了高速的、面向塊的 I/O。本實(shí)用教程從高級(jí)概念到底層的編程細(xì)節(jié),非常詳細(xì)地介紹了 NIO 庫。您將學(xué)到諸如緩沖區(qū)和通道這樣的關(guān)鍵 I/O 元素的知識(shí),并考察更新后的庫中的標(biāo)準(zhǔn) I/O 是如何工作的。您還將了解只能通過 NIO 來完成的工作,如異步 I/O 和直接緩沖區(qū)。
    2013-02-02

最新評(píng)論