Die Verwendung von jettyRunWar oder jettyRun in Gradle mit einer Spring Boot-App führt lediglich zu einer Verzeichnisliste im Browser

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

  •  21-12-2019
  •  | 
  •  

Frage

Ich verwende Gradle und Spring Boot zum ersten Mal.Ich habe beschlossen, ein Projekt zu erstellen, das tatsächlich ein WAR-Archiv erstellt, und ich verwende das Gradle Jetty-Plugin.Wenn ich die Aufgaben „jettyRun“ oder „jettyRunWar“ ausführe, sehe ich in meinem Browser nur eine Verzeichnisliste und nicht meine eigentliche Anwendung.

Die Aufgabe jettyRunWar führt beispielsweise zu einer Verzeichnisliste wie dieser:

META-INF/
WEB-INF/
dist/

Das Verzeichnis dist/ enthält meine statischen Dateien.

Vielleicht übersehe ich etwas Grundlegendes, seit ich Gradle und Spring Boot zum ersten Mal verwende.

Ich versuche, meine App zu testen, während ich Änderungen an meinen statischen Dateien vornehme, ohne die App neu zu starten.Hier ist meine build.gradle-Datei.

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"
}
War es hilfreich?

Lösung

Hast du versucht ./gradlew bootRun stattdessen?Bei normalen Spring Boot-Projekten ist der Server zur einfacheren Verwendung eingebettet :)

Für diese Aufgabe ist das Gradle-Plugin erforderlich:

apply plugin: 'spring-boot'

Merkmale

Betten Sie Tomcat oder Jetty direkt ein (keine Bereitstellung von WAR-Dateien erforderlich)

Aufgabe

Execution tasks
---------------
bootRun - Run the executable JAR/WAR
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top