Gretty: Как мне указать путь к файлу войны?

Я использую плагин Jetty Gradle и пытаюсь перенести мой скрипт на использование Gretty. Следующее работает с плагином Jetty Gradle:

jettyRunWar {
    // do not use "war" task, use myCustomWarTask
    dependsOn myCustomWarTask
    dependsOn.remove("war")

    webApp = myCustomWarTask.archivePath
}

Как мне добиться того же в Гретти?

2 ответа

Во-первых, вы можете захотеть довольно простые настройки:

buildscript {
    repositories {
        // You can declare any Maven/Ivy/file repository here.
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'org.akhikhl.gretty:gretty:1.4.0'
    }
}

apply plugin: 'war'
apply plugin: 'java'
apply plugin: 'org.akhikhl.gretty'

gretty {
    servletContainer = 'jetty9'

    httpEnabled = true
    httpPort = 8081
    contextPath = '/WebServer'
    jvmArgs { '-ea' }

    loggingLevel = 'ALL' // options:   'ALL', 'DEBUG', 'ERROR', 'INFO', 'OFF', 'TRACE', 'WARN'
}

После этого вы можете настроить веб-приложение на ферме. Укажите здесь путь к вашему файлу войны (в приведенном примере мой плагин GWT помещает мой).

farm {
    webapp 'build/libs/web_server.war'
}

Чтобы указать зависимость:

project.afterEvaluate {
    tasks.farmRun.dependsOn myCustomWarTask
}

Как только вы все это сделаете, 'gradle farmRun' соберет и запустит ваш боевой файл в Gretty.

Не уверен, что кто-то еще сталкивался с этим недавно, но ради потомства я просто использую:

gradlew appRunWar

Также есть поддержка ферм, использующих:

gradlew farmRunWar
Другие вопросы по тегам