Gradle spring boot war部署到tomcat,状态为:OK,但访问时给出404

Gradle spring boot war部署到tomcat,状态为:OK,但访问时给出404,gradle,spring-boot,Gradle,Spring Boot,我的配置类如下所示 @Configuration @EnableAutoConfiguration @ComponentScan(basePackages = "com.projectx") public class Application extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(applicationCl

我的配置类如下所示

@Configuration
@EnableAutoConfiguration
@ComponentScan(basePackages = "com.projectx")

public class Application extends SpringBootServletInitializer{

    public static void main(String[] args) {

        SpringApplication.run(applicationClass, args);

    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}
另外,
build.gradle
文件如下所示

apply plugin: 'java'
sourceCompatibility=1.8
targetCompatibility=1.8

apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'war'


mainClassName = 'com.projectx.data.config.Application'

buildscript {
    repositories {
        maven { url "http://repo.spring.io/libs-release" }
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.1.RELEASE")
    }
}




war {
    baseName = 'gs-accessing-data-jpa'
    version =  '0.1.0'
}

repositories {
    mavenLocal()
    mavenCentral()
    maven { url "http://repo.spring.io/libs-release" }
    maven { url "https://repository.jboss.org/nexus/content/repositories/releases" }
}

configurations {

    providedRuntime

}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")

}
因此,无论我在哪里将这个项目部署到tomcat,它都会显示以下错误。由于我已经满足了在春季将jar转换为war的所有要求,所以我不确定我的项目出了什么问题


它给出了404找不到。(我正在使用带Gradle插件的STS 3.6.0)

您是否调用了正确的URL?它看起来像是已部署的—但您没有调用正确的url—基本上,如果您点击根目录,那么当我将其作为带有嵌入式tomcat的spring boot应用程序运行时,它将返回项目中定义的错误页面。因此,我猜url不是一个问题。这是一个未找到页面的错误—您使用什么来服务页面?百里香?您需要包含前端技术-例如compile(“org.springframework.boot:spring boot starter thymeleaf”),如果同样的东西在嵌入式服务器上运行良好,那么为什么它不能与外部容器一起工作。我也尝试过这样做,但仍然不能工作。您正在调用哪个URL,部署时调用哪个URL?你正在部署的战争的名称是什么?