Gretty:如何指定war文件的路径?

时间:2016-08-24 18:39:15

标签: gradle jetty war gretty

我正在使用Jetty Gradle插件,并尝试移植我的脚本以使用Gretty。 以下适用于Jetty Gradle插件:

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

    webApp = myCustomWarTask.archivePath
}

我在Gretty中实现了同样的目标吗?

2 个答案:

答案 0 :(得分:0)

首先,您可能需要一些非常基本的gretty设置:

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'
}

完成后,您可以在服务器场中设置webapp。在此处指定war文件的路径(提供的示例是GWT插件放置的位置)。

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

指定dependency

project.afterEvaluate {
    tasks.farmRun.dependsOn myCustomWarTask
}

一旦你掌握了所有这些,就可以了解农场运行情况。将在Gretty中构建并运行你的war文件。

答案 1 :(得分:0)

不确定是否有其他人最近遇到过此事,但为了后代,我只是使用:

gradlew appRunWar

还有对农场的支持:

gradlew farmRunWar