No bean named 'xxxxxxx' available 4年前

springboot项目发布上线后,报错:No bean named 'xxxxxxx' available

因为我开发时pom用的jar,但上线发布war。解决方法:

1、pom.xml

<packaging>war</packaging>

将tomcat从boot中提出来,并将scope设置为provide

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

2、ApplicationWar

@EnableTransactionManagement
@SpringBootApplication
@ComponentScan(basePackages="com.gomepay.goa")
@ServletComponentScan(basePackages = "com.gomepay.goa")
@EnableAutoConfiguration
@Slf4j
public class ApplicationWar extends SpringBootServletInitializer {
    /**
     * 为了将springboot程序在tomcat中运行
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(ApplicationWar.class);
    }

    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(ApplicationWar.class);
        app.setBannerMode(Banner.Mode.OFF);
        app.run(args);
        log.info("PortalApplication is success!");
    }
}
清平乐
所谓最难忘的,就是从来不曾想起,却永远也不会忘记。
2
发布数
0
关注者
915
累计阅读

热门教程文档

Docker
62小节
Objective-C
29小节
C#
57小节
Java
12小节
C
14小节
广告