Gretty конфигурация не применяется при использовании задачи farmRun - PullRequest
0 голосов
/ 08 июля 2019

Я использую образец Гретти из: https://github.com/gretty-gradle-plugin/gretty-sample В master build.gradle я изменил только URL репозиториев (для использования зеркального репо из-за прокси-сервера):

build.gradle

apply plugin: 'java'

buildscript {
    repositories {
        maven {
            //url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/'
            url 'http://10.0.0.1:7003/nexus/content/groups/public/'
        }
        //jcenter()
    }
    dependencies {
        classpath 'org.gretty:gretty:+' 
    }
}

subprojects {
    apply plugin: 'war'
    apply plugin: 'org.gretty'

    gretty {
        scanInterval = 1 //Scan for changes every second
        host = '0.0.0.0' //Enable network access from outside your local machine
        httpPort = 8011
        servletContainer = 'jetty7' //Use Jetty7 which is compatible with JDK6
        managedClassReload = true //Activate spring-loaded class reloading
        integrationTestTask = 'integrationTest'
    }

    sourceCompatibility = 1.8
    targetCompatibility = 1.8
    version = '1.0'

repositories {
    maven {
        //url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/'
        url 'http://10.0.0.1:7003/nexus/content/groups/public/'
    }
    //jcenter()
}

}

apply plugin: 'org.gretty'

farm {
    webapp ':customer'
    webapp ':car'
}

repositories {
    maven {
        //url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/'
        url 'http://10.0.0.1:7003/nexus/content/groups/public/'
    }
    jcenter()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

Вы можете видеть, что порт указан как:

httpPort = 8011

в разделе подпроектов. Когда я бегу грейлером

gradlew: farmRun

сообщает:

17:38:42 INFO  Jetty 9.2.26.v20180806 started and listening on port 8080
17:38:42 INFO  customer runs at:
17:38:42 INFO    http://localhost:8080/customer
17:38:42 INFO  car runs at:
17:38:42 INFO    http://localhost:8080/car

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':farmRun'.
> java.lang.Exception: Address already in use: bind

поэтому причал все еще пытается использовать порт 8080 по умолчанию. Спасибо за любые подсказки.

1 Ответ

0 голосов
/ 10 июля 2019

Метод подпроектов НЕ вызывается: farmRun. Метод конфигурации gretty должен находиться на корневом уровне или непосредственно в методе farm .

farm {
    webapp ':customer'
    webapp ':car'

    gretty {
        httpPort = 8012
        servletContainer = 'jetty7' //Use Jetty7 which is compatible with JDK6
        managedClassReload = true //Activate spring-loaded class reloading
    }
}
...