呼和浩特企业网站建设,网校网站毕业设计的方案,怎么和其它网站做友情链接,管家婆进销存管理系统转载自 Spring Boot 发布 jar 包转为 war 包秘籍。Spring Boot是支持发布jar包和war的#xff0c;但它推荐的是使用jar形式发布。使用jar包比较方便#xff0c;但如果是频繁修改更新的项目#xff0c;需要打补丁包#xff0c;那这么大的jar包上传都是问题。所以#xff0c…转载自 Spring Boot 发布 jar 包转为 war 包秘籍。Spring Boot是支持发布jar包和war的但它推荐的是使用jar形式发布。使用jar包比较方便但如果是频繁修改更新的项目需要打补丁包那这么大的jar包上传都是问题。所以jar包不一定合适适用所有的场景如war包更合适你可以尝试转为传统的war包这样打补丁包可能更方便。
如何配置打war包呢
以下配置以Maven为说明讲解Gradle的查看类似配置。
1、修改Spring Boot启动类
启动类继承 SpringBootServletInitializer类并覆盖 configure方法。
下面是Spring Boot提供的示例代码。
SpringBootApplication
public class Application extends SpringBootServletInitializer {Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(Application.class);}public static void main(String[] args) throws Exception {SpringApplication.run(Application.class, args);}
}
2、修改jar为war包形式
在pom文件中添加war包配置。
packagingwar/packaging
如果不添加默认为jar包。
3、去除Spring Boot内置Tomcat
修改自带tomcat依赖范围为provided防止与外部tomcat发生冲突。
dependencies!-- … --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdscopeprovided/scope/dependency!-- … --
/dependencies4、添加war包打包插件
如果你用的是继承spring-boot-starter-parent的形式使用Spring Boot那可以跳过因为它已经帮你配置好了。如果你使用的依赖spring-boot-dependencies形式你需要添加以下插件。
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdconfigurationfailOnMissingWebXmlfalse/failOnMissingWebXml/configuration
/plugin
failOnMissingWebXml需要开启为false不然打包会报没有web.xml错误。如何打war包
打war包方式和打jar包方式一样没有区别。
在Maven中使用 mvn cleanpackage命令即可打包。在Idea中可以这样设置打包改在war包后发现打war包比打jar要上好多。
jar包转war包有什么影响
1、application配置文件中的server.xx等关于容器的配置就无效了改配置需要在外部tomcat中进行。
2、Spring Boot的升级是否需要Tomcat跟着升级需要观察。
3、打war包比打jar明显要变慢好多。。