Usar jettyRunWar ou jettyRun no Gradle com um aplicativo Spring Boot resulta em apenas uma listagem de diretório no navegador

StackOverflow https://stackoverflow.com//questions/21029571

  •  21-12-2019
  •  | 
  •  

Pergunta

Estou usando Gradle e Spring Boot pela primeira vez.Decidi criar um projeto que realmente construa um arquivo WAR e estou usando o plugin Gradle Jetty.Se eu executar as tarefas jettyRun ou jettyRunWar, em meu navegador tudo o que vejo é uma listagem de diretório, não meu aplicativo real.

Por exemplo, a tarefa jettyRunWar resulta em uma listagem de diretórios como esta:

META-INF/
WEB-INF/
dist/

O diretório dist/ contém meus arquivos estáticos.

Talvez esteja faltando algo fundamental, já que estou usando Gradle e Spring Boot pela primeira vez.

Estou tentando testar meu aplicativo enquanto faço alterações em meus arquivos estáticos sem reiniciar o aplicativo.Aqui está meu arquivo build.gradle.

buildscript {
    repositories {
        maven { url "http://repo.spring.io/libs-snapshot" }
        mavenLocal()
    }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:0.5.0.M6"
    }
}

apply plugin: "java"
apply plugin: "idea"
apply plugin: "spring-boot"
apply plugin: "war"

war {
    baseName = "mis-support-client"
    version =  "1.0.0-SNAPSHOT"
    includes = ["dist/**"]
}

repositories {
    mavenCentral()
    maven { url "http://repo.spring.io/libs-snapshot" }
}

dependencies {
    testCompile "junit:junit:4.11" 

    compile ("org.springframework.boot:spring-boot-starter-web:0.5.0.M7") {
        exclude module: "spring-boot-starter-tomcat"
    }
    compile "org.springframework.boot:spring-boot-starter-jetty:0.5.0.M7"
    compile "org.springframework.boot:spring-boot-starter-security:0.5.0.M7"
    compile "org.springframework.boot:spring-boot-starter-websocket:0.5.0.M7" 
    compile "javax.inject:javax.inject:1"
    compile "org.codehaus.jackson:jackson-mapper-asl:1.9.12"
    compile "org.apache.httpcomponents:httpclient:4.3.1"
    compile "commons-io:commons-io:2.4"
}

task wrapper (type: Wrapper) {
    gradleVersion = "1.8"
}
Foi útil?

Solução

Você tentou ./gradlew bootRun em vez de?O projeto Spring Boot normal possui servidor incorporado para facilitar o uso :)

Esta tarefa requer o plugin Gradle:

apply plugin: 'spring-boot'

Características

Incorpore Tomcat ou Jetty diretamente (sem necessidade de implantar arquivos WAR)

Tarefa

Execution tasks
---------------
bootRun - Run the executable JAR/WAR
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top