日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot(二)——项目热部署与程序发布

發布時間:2024/3/24 javascript 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot(二)——项目热部署与程序发布 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、項目熱部署

1.1 配置依賴

① pom.xml加入devtools依賴,如果scope是provided則無法實現熱部署,參考。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>compile</scope><optional>true</optional> </dependency>

② maven插件配置如下。

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><fork>true</fork></configuration></plugin></plugins> </build>

1.2 設置自動構建項目

在Settings/Build->Execution->Deployment/Compiler中勾選Build project automatically,如圖所示。

1.3 Register配置

① 組合快捷鍵(Ctrl+Shift+Alt+/),彈出如下所示。

② 選擇Register,找到并選中compiler.automake.allow.when.app.running,重啟IDEA。

1.4 測試

重啟IDEA后,啟動項目,修改HelloController。
修改前代碼如下:

@RequestMapping(value = "sayHello", method = RequestMethod.GET) public String sayHello() { return "Hello World!"; }

改后代碼如下:

@RequestMapping(value = "sayHello", method = RequestMethod.GET) public String sayHello() {return "Hello Spring Boot!"; }

改前后效果對比。

二、程序發布

2.1 以jar形式發布

① 默認情況下,打包形式為jar。

<groupId>com.peter</groupId> <artifactId>springboot-first-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging>

② 通過Maven執行install,項目相關的依賴也會打到一個jar里面。

③ 進入項目的target文件夾,cmd下運行java -jar **.jar即可。

默認情況下,測試類代碼如下:

@RunWith(SpringRunner.class) @SpringBootTest public class SpringbootFirstDemoApplicationTests {@Testpublic void contextLoads() {}}

報錯如下:

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.022 s <<< FAILURE! - in com.peter.SpringbootFirstDemoApplicationTests
[ERROR] initializationError(com.peter.SpringbootFirstDemoApplicationTests) Time elapsed: 0.003 s <<< ERROR!
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=…) with your test

根據提示,需要在SpringbootFirstDemoApplicationTests類上的注解加上@SpringBootTest(classes = SpringbootFirstDemoApplicationTests.class)。加上后,再次執行install即可打包成功。

2.2 以war形式發布

該部分參考。
① 通過Maven執行clean,清除原有的jar包或者war包;修改pom.xml中packing的值為war,代碼如下:

<groupId>com.peter</groupId> <artifactId>springboot-first-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging>

② 添加tomcat的依賴:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId> </dependency>

③ 修改啟動類文件,使其繼承SpringBootServletInitializer類,并重寫configure函數。代碼如下:

package com.peter.springbootfirstdemo;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;@SpringBootApplication public class SpringbootFirstDemoApplication extends SpringBootServletInitializer{public static void main(String[] args) {SpringApplication.run(SpringbootFirstDemoApplication.class, args);}@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(SpringbootFirstDemoApplication.class);} }

④ 通過Maven執行install,在target文件夾中生成war包。
⑤ 將springboot-first-demo-0.0.1-SNAPSHOT.war拷貝到Tomcat的webapps文件夾下,啟動Tomcat。
⑥ 訪問http://localhost:8080/springboot-first-demo-0.0.1-SNAPSHOT/sayHello。

總結

以上是生活随笔為你收集整理的Spring Boot(二)——项目热部署与程序发布的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。