Usar jettyRunWar ou jettyRun no Gradle com um aplicativo Spring Boot resulta em apenas uma listagem de diretório no navegador
-
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"
}
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