Spring boot SpringBoot:作为Java应用程序运行,但类路径包含SpringWeb
我成功地创建了一个Spring引导应用程序,它作为Java应用程序运行,如下所示:Spring boot SpringBoot:作为Java应用程序运行,但类路径包含SpringWeb,spring-boot,Spring Boot,我成功地创建了一个Spring引导应用程序,它作为Java应用程序运行,如下所示: @SpringBootApplication public class Application { public static void main(String[] args) throws Exception { SpringApplication springApplication = new SpringApplication(); springApplication.setWebEnvi
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication springApplication = new SpringApplication();
springApplication.setWebEnvironment(false);
springApplication.run(Application.class, args);
}
问题是我的应用程序需要springweb
模块,因为它是REST服务的客户端
添加SpringWeb
模块后,我收到一个错误:
Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
如何让它作为Java应用程序运行,并在类路径上运行SpringWeb
我有与您“相同的设置”-命令行SpringBoot应用程序使用SpringWeb
中的RestTemplate
,一切正常。也许只是因为我使用了“完整”的SpringWebStarter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
你试过这个吗?应该有用。也许你需要1.3分的时间this@Marged是的,我看到了,上面看到了我的代码片段抱歉,没有看到设置app.run(args)是这里的关键,它包含了我的Application.class,它创建了一个默认配置并忽略了我的设置,因此通过排除它现在作为Java进程运行。谢谢嗯,我没想到会有这么简单的问题->以非静态方式调用静态方法。您的had IDE可能警告过您:)但很高兴它现在可以工作了。这不是一个静态方法,虽然还有另一个静态run()方法,但我没有使用它。在版本1.3.1中,SpringApplication只有3个
run
方法,但只有一个-run(String…
是非静态的。但这只是细节:)
SpringApplication app = new SpringApplication(MyApplication.class);
app.setWebEnvironment(false);
app.run(args);