SpringBoot使用Gradle构建war包的步骤
来源:互联网 发布:笔记本温度监控软件 编辑:程序博客网 时间:2024/05/18 00:37
只是出于好奇才打成war包,正常情况下不推荐war。打成jar包可以方便的使用外部配置,并且启动速度更快,也方便部署到docker等容器中。
一、应用插件
1.1 gradle
在gradle.build文件中新增apply plugin: war
:
apply plugin: 'java'apply plugin: 'war'apply plugin: 'org.springframework.boot'
1.2 maven
需把元素的值从jar改为war。
<packaging>war</packaging>
二、新增类
这样就能生成WAR文件了。但如果WAR文件里没有启用Spring MVC DispatcherServlet 的web.xml文件或者Servlet初始化类,这个WAR文件就一无是处。
此时就该Spring Boot出马了。它提供的SpringBootServletInitializer是一个支持 Spring Boot的Spring WebApplicationInitializer实现。除了配置Spring的Dispatcher- Servlet,SpringBootServletInitializer还会在Spring应用程序上下文里查找Filter、 Servlet或ServletContextInitializer类型的Bean,把它们绑定到Servlet容器里。
要使用SpringBootServletInitializer,只需创建一个子类,覆盖configure()方法 来指定Spring配置类。
@SpringBootApplicationpublic class SSOApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(SSOApplication.class, args); } /** *重写configure * @param builder * @return */ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(SSOApplication.class); }}
虽然应用程序里还有其他Spring配置类,但没有必要在这里把它们全部注册进来。 Application类上添加了@SpringBootApplication注解。这会隐性开启组件扫描,而组件扫 描则会发现并应用其他配置类。
三、构建
现在我们可以构建应用程序了。如果使用Gradle,你只需调用build任务即可:
gradle build
没问题的话,你可以在build/libs里看到一个名为readinglist-0.0.1-SNAPSHOT.war的文件。
对于基于Maven的项目,可以使用package:
mvn package
成功构建之后,你可以在target目录里找到WAR文件。
来源:springboot实战
- SpringBoot使用Gradle构建war包的步骤
- SpringBoot使用Gradle构建war包
- 使用eclipse构建war包
- 使用Spring Boot Gradle 打war包的一点心得体会
- 使用gradle打war包时,包含中文文件名导致war包无法解压的解决办法
- Gradle 使用Gradle构建Android应用的渠道包
- springboot war打包步骤
- 使用Gradle构建多模块SpringBoot项目
- springboot log4j2配置,使用gradle构建
- 使用gradle构建springboot工程的以及部署springboot到linux服务
- springboot war包部署
- SpringBoot打成war包
- springboot打成war包
- springboot war包导出
- springBoot 打成war包
- 使用Gradle构建Android应用的渠道包
- 使用Gradle构建Android应用的渠道包
- 使用Gradle构建Android应用的渠道包
- 谈谈从毕业到工作的心理历程
- Eclipse中安装Spring插件
- Bit String Reordering
- HDU
- xutils网络请求后操作数据库
- SpringBoot使用Gradle构建war包的步骤
- 在Linux环境安装 zookeeper
- 【教程】如何在C#,VB.NET中提取消息内容
- mysql之运算符和函数
- 0-引言:Morris蠕虫现在还有用吗
- 1-编写一个端口扫描器
- 机器学习资源传送门
- Getting started with TensorFlow on iOS
- Codeforces 825 C Multi-judge Solving