一:多profiles切換
yml支持多模塊文檔塊
server:
port: 8081
spring:
profiles:
active: dev #要激活的環(huán)境
--- #開發(fā)環(huán)境
spring:
profiles: dev
server:
port: 8082
--- #生產(chǎn)環(huán)境
spring:
profiles: prod
server:
port: 8083
推薦使用不同的配置文件做多環(huán)境配置,在配置文件名稱加-后綴聪黎,后綴名即為環(huán)境名
激活指定配置文件的方法
- 直接在application.yml的配置文件中使用 spring.profiles.active=dev|prod
- 設(shè)置虛擬機參數(shù) -Dspring.profiles.active=dev|prod
- 命令行參數(shù)啟動:java -jar app.jar --spring.profiles.active=prod
二:SpringBoot打包問題
打成指定jar名稱
<build>
指定打包的文件名稱
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
若工程中有多個mainclass罕容,需要指定主啟動類
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.zzw.AppApplication</mainClass>
</configuration>
<goals>
<goal>repackage</goal>
</goals>
</plugin>
</plugins>
</build>
如何打成一個war包
-
修改pom文件,將打包方式改成war
- 添加Tomcat依賴稿饰,修改scope
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--只在編譯或者測試的時候使用-->
<scope>provided</scope>
</dependency>
- 修改主啟動類
@SpringBootApplication
public class SpringBootDemoApp extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootDemoApp.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringBootDemoApp.class);
}
}
- 打成war包锦秒,放到tomcat上運行