当前位置: 首页 > 知识库问答 >
问题:

由于缺少ServletWebServerFactory bean,无法启动ServletWebServerApplication ationContext

石超
2023-03-14

我已经编写了一个使用Spring Boot的Spring批处理应用程序。当我试图在本地系统上使用命令行和类路径运行该应用程序时,它运行良好。然而,当我试图在linux服务器上运行它时,它给我以下异常

Unable to start web server; nested exception is
org.springframework.context.ApplicationContextException: 
Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

下面是我运行它的方式:

java -cp jarFileName.jar; lib\* -Dlogging.level.org.springframework=DEBUG -Dspring.profiles.active=dev -Dspring.batch.job.names=abcBatchJob com.aa.bb.StartSpringBatch > somelogs.log

共有3个答案

奚光霁
2023-03-14

解决办法是:

application.yml文件中,我显式地将以下属性设置为no

spring:
  main:
    web-application-type: none
冷吉星
2023-03-14

可能您在spring boot starter类中缺少@SpringBootApplication

@SpringBootApplication
public class LoginSecurityAppApplication {

    public static void main(String[] args) {
        SpringApplication.run(LoginSecurityAppApplication.class, args);
    }

}
嵇财
2023-03-14

spring boot starter类中缺少@SpringBootApplication注释。

对于非Web应用程序,禁用属性文件中的Web应用程序类型。

application.properties中:

spring.main.web-application-type=none

如果您使用应用程序。yml然后添加:

  spring:
    main:
      web-application-type: none

对于Web应用程序,在主类中扩展*SpringBootServlet初始器*

@SpringBootApplication
public class YourAppliationName extends SpringBootServletInitializer{
    public static void main(String[] args) {
        SpringApplication.run(YourAppliationName.class, args);
    }
}

如果您使用sping-boot-starter-webflow,则还将sping-boot-starter-web添加为依赖项。

 类似资料: