【发布时间】:2017-01-13 14:14:01
【问题描述】:
在网站上经过大量的摸索和转圈后,我设法使用 gradle 将我的 Spring boot RESTful web 服务作为一个 war 文件部署到 Tomcat 中。它比文档或其他网站制作的要简单得多。
不过,我只有几个问题:
如何从我的 13Mb 文件中删除 spring 的膨胀,而改为使用共享/部署的 Spring 版本,以便更轻松地支持更新库?
为什么嵌入式 tomcat 仍然放在我的 war 文件中(在 WEB-INF\lib-provided 下)?
有没有办法同时为开发目的构建更简单的 jar 版本?
-
对于生产系统,jar 生成的文件如何与部署到容器的 war 文件一样好 - 您无法轻松修改配置,无法扩展它(在 Web 服务器方面或负载平衡方面)并且有没有管理前端。如果 Spring(或 Spring Boot)的意图是真正创建自包含的微服务器,我仍然无法理解扩展它,甚至无法理解如何在 Windows 中运行不是控制台应用程序的 jar...
以下是我的文件的要点:
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile('org.springframework.boot:spring-boot-starter-test')
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
代码:
@SpringBootApplication
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);
}
}
谢谢。
【问题讨论】:
标签: spring spring-boot