gpt4 book ai didi

java - 如何在没有嵌入式 tomcat 的情况下启动 Spring Boot 应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:50 27 4
gpt4 key购买 nike

我有一个使用 jhipster 生成的 Spring Boot 应用程序,它运行良好。但是,我还需要为一些后台批处理作业创建第二个应用程序,这个应用程序使用了第一个应用程序的大部分 spring 服务。我所做的是创建第二个主类,它启动一个 spring boot 应用程序。问题是这也会启动嵌入式网络服务器和所有仅对网络应用程序有用的服务。我只需要服务、持久性和其他未专门绑定(bind)到 GUI 的类。

这是我的两个主要类(已简化)

普通的 spring-boot 应用:

@ComponentScan
@AutoConfigure
class Application {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class)
app.run(args)
}
}

后台应用:

@ComponentScan
@AutoConfigure
class BackOfficeApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(BackOfficeApplication.class)
app.run(args)
}
}

有效的方法:我的后台应用程序可以访问我需要的一切。 Spring 服务、bean 等问题:后台应用程序启动 GUI,阻止我同时启动它两次。

有没有办法停用嵌入式 tomcat 服务器的启动?否则,有没有办法以另一种不会启动嵌入式服务器的方式加载 spring 应用程序上下文?

一些细节:* 我不使用 mvn spring-boot:run 启动应用程序。我直接用 java(或使用 eclipse

最佳答案

SpringApplication 有一个属性 webEnvironment。如果 Tomcat 在类路径上,它默认为 true,但您可以将其设置为 false(以编程方式或使用 spring.main.webEnvironment)。

关于java - 如何在没有嵌入式 tomcat 的情况下启动 Spring Boot 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22995527/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com