0

我使用的 Gretty 示例来自:https ://github.com/gretty-gradle-plugin/gretty-sample 在 master build.gradle 我只修改了存储库 URL(使用镜像存储库到期代理):

构建.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

在子项目部分下。当我运行 gradle

毕业:农场运行

它报告:

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。感谢您的任何提示。

4

1 回答 1

0

方法子项目不被 :farmRun 调用。gretty配置方法需要在根层或直接作为农场方法的一部分。

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

    gretty {
        httpPort = 8012
        servletContainer = 'jetty7' //Use Jetty7 which is compatible with JDK6
        managedClassReload = true //Activate spring-loaded class reloading
    }
}
于 2019-07-10T07:34:53.960 回答