能够在IDE上部署Spring-boot项目,但不能在Tomcat上部署。无法找到index.html

时间:2016-04-22 19:33:19

标签: tomcat spring-boot

我已经在这几天了。一旦我尝试将我的应用程序集成到Spring-Boot中,我就开始遇到各种各样的问题。我解决了但不能通过war文件在tomcat上部署它。在我的IDE上它工作正常 - 我已经尝试通过我的IDE和终端将它部署到tomcat,手动将它放在Tomcat中但没有成功。

的pom.xml

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <start-class>com.stidham.financial.StidhamFinancialBootApplication</start-class>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.0-api</artifactId>
            <version>1.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.nekohtml</groupId>
            <artifactId>nekohtml</artifactId>
            <version>1.9.21</version>
        </dependency>
    </dependencies>

application.properties

spring.datasource.url= jdbc:mysql://localhost:3306/resume
spring.datasource.username=root

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update

server.port=8081
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.html
spring.mvc.static-path-pattern=/resources/*
server.contextPath=/

主要班级

@SpringBootApplication
@EnableAutoConfiguration
@ComponentScan("com.stidham.financial.config,com.stidham.financial.controller," +
        "com.stidham.financial.model,com.stidham.financial.repository,com.stidham.financial.services")
public class StidhamFinancialBootApplication extends SpringBootServletInitializer {

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

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(applicationClass);
    }

    private static Class<StidhamFinancialBootApplication> applicationClass = StidhamFinancialBootApplication.class;
}

WebConfig.java

@Configuration
public class WebConfig extends WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter {

    private static final Logger LOGGER = Logger.getLogger(WebConfig.class);

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.setOrder(Ordered.HIGHEST_PRECEDENCE);

        registry.addResourceHandler("/css/**").addResourceLocations("/resources/css/");

        registry.addResourceHandler("fonts/**").addResourceLocations("/resources/fonts/");

        registry.addResourceHandler("/images/**").addResourceLocations("/resources/images/");

        registry.addResourceHandler("/image/**").addResourceLocations("/resources/image/");

        registry.addResourceHandler("/_sample/**").addResourceLocations("/resources/_sample/");

        registry.addResourceHandler("/javascripts/**").addResourceLocations("/resources/javascripts/");

        registry.addResourceHandler("/templates/**").addResourceLocations("/resources/templates/");

        registry.addResourceHandler("/libs/**").addResourceLocations("/resources/libs/");
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

    @Bean
    public DispatcherServlet dispatcherServlet(){
        DispatcherServlet dispatcherServlet = new DispatcherServlet();

        dispatcherServlet.setThrowExceptionIfNoHandlerFound(true);

        return dispatcherServlet;
    }

    @Bean
    public ServletContextTemplateResolver templateResolver() {
        ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
        resolver.setPrefix("/WEB-INF/");
        resolver.setSuffix(".html");
        resolver.setTemplateMode("HTML5");
        resolver.setOrder(1);
        return resolver;
    }

}

似乎没有加载,因此这告诉我找不到我的index.html。

enter image description here

我已将项目上传到GIT https://github.com/drewjocham/SpringBootStidham.git

任何建议都将不胜感激。

0 个答案:

没有答案