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