1、打成jar包
1.在pom.xml中引入springboot的插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.maven中package
3.在項目的target中生成jar包
4.在Terminal中進入target目錄,輸入java -jar Springboot-1.0-SNAPSHOT.jar啟動:
(注意:jar部署的時候上傳下載會出現(xiàn)路徑問題呀非,這個留到以后寫)
2绳慎、基于idea的熱部署
?
為了進一步提高開發(fā)效率,springboot為我們提供了全局項目熱部署,日后在開發(fā)過程中修改了部分代碼以及相關(guān)配置文件后,不需要每次重啟使修改生效,在項目中開啟了springboot全局熱部署之后只需要在修改之后等待幾秒即可使修改生效。
1.項目中引入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2.設(shè)置idea中支持自動編譯
Preferences | Build, Execution, Deployment | Compiler -> 勾選上 Build project automatically 這個選項
3.開啟允許在運行過程中修改文件
ctrl + alt + shift + / 或者(蘋果電腦:option+command+shift+/)---->選擇1.Registry ---> 勾選 compiler.automake.allow.when.app.running 這個選項
4.啟動項目檢測熱部署是否生效
啟動出現(xiàn)如下日志代表生效
注意:日志出現(xiàn)restartedMain代表已經(jīng)生效,在使用熱部署時如果遇到修改之后不能生效,請重試重啟項目在試
3瞬女、打war包
1秀鞭、添加打包war包方式
<packaging>war</packaging>
2模她、指定入口類,用熱部署出現(xiàn)中文亂碼解決方案,增加jvm參數(shù) 稻艰。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--使用熱部署出現(xiàn)中文亂碼解決方案-->
<configuration>
<fork>true</fork>
<!--增加jvm參數(shù) -->
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
<!--指定入口類 -->
<mainClass>com.nono.Application</mainClass>
</configuration>
</plugin>
</plugins>
</build>
3、去掉內(nèi)嵌tomcat,去掉使用內(nèi)嵌tomcat解析jsp
<!--去掉內(nèi)嵌tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope> <!--去掉內(nèi)嵌tomcat-->
</dependency>
<!--去掉使用內(nèi)嵌tomcat解析jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope> <!--去掉使用內(nèi)嵌tomcat解析jsp-->
</dependency>
4侈净、在入口類中繼承SpringBootServletInitializer尊勿,用于告訴springboot入口類是哪個。
package com.nono;
import org.mybatis.spring.annotation.MapperScan;
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;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@MapperScan("com.nono.dao")
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
5畜侦、application.properties或者application.yml
下面這兩個就失效了元扔,因為這是war包啟動排除了內(nèi)嵌的tomcat。
server.port=8989
server.servlet.context-path=/nono
加入有效的項目名
spring.application.name=nono
6夏伊、maven先clean 再 package
7摇展、war包就出現(xiàn)再target中
8吻氧、將war包放到本機外部的tomcat的webapps中運行:
進入tomcat 的bin目錄啟動:
./startup.sh