网上关于如何切换,其实说的很明确,本文主要通过profile进行快速切换已实现在不同场合下,用不同的打包方式。
jar到war修改步骤
pom文件修改
入口类修改
特别注意:当改成war包的时候,application.properties配置的server.port和server.servlet.context-path就无效了,遵从war容器的安排。
配置pom
配置packaging
${pom.package}
修改build
${pom.packageName}
org.apache.maven.plugins
maven-war-plugin
3.2.2
false
排除容器
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat
配置profile
jar
true
jar
${project.artifactId}-${project.version}
dev
org.springframework.boot
spring-boot-starter-tomcat
war
war
${project.artifactId}
linux
org.springframework.boot
spring-boot-starter-tomcat
provided
javax.servlet
javax.servlet-api
4.0.1
provided
修改入口类
使用@Profile注解,当启用war配置的时候,初始化Servlet。
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Profile(value = {"war"})
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
关注微信公众号获取更多VSCode编程信息,定时发布干货文章
全部评论