SpringBoot嵌入了tomcat依赖

时间:2017-05-01 14:20:49

标签: java spring-mvc tomcat

我使用spring初始化程序创建一个简单的spring boot web项目。我有一个简单的项目设置,包括以下依赖项:

compile('org.springframework.boot:spring-boot-starter-jersey')
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')

我使用JSP作为我的视图,所以我在配置中添加了以下bean:

@Bean

public ViewResolver getViewResolver() {

    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/jsp/");
    resolver.setSuffix(".jsp");
    return resolver;
}

当我启动应用程序并转到主页时,我收到404错误,但是,当我将以下JAR添加到我的类路径时

compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '7.0.77'

它有效。我的印象是spring boot starter web依赖包括嵌入式tomcat,我不需要单独添加它?

这是启动它的主要应用程序类:

@SpringBootApplication(scanBasePackages={"com.wsapp"})
@EnableWebMvc
@EnableAutoConfiguration
public class SampleApplication {

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

1 个答案:

答案 0 :(得分:0)

如果您希望使用tomcat,为什么要在依赖项中使用jersey?

compile('org.springframework.boot:spring-boot-starter-jersey')

我认为弹簧自动配置只是加载球衣配置。 Tomcat是默认值,但前提是您不必在依赖项中显式添加另一个模块。如果你想使用tomcat,请尝试删除此依赖项。