【问题标题】:gretty throws org.gradle.process.internal.ExecException: Process command {} finished with non-zero exit value 1gretty throws org.gradle.process.internal.ExecException: Process command {} finished with non-zero exit value 1
【发布时间】:2020-04-09 09:08:05
【问题描述】:

我正在使用以下简单的 build.gradle 项目模板:

buildscript {
  repositories {
   maven {
          url repoUrlPublic
      }
  }
  dependencies {
    classpath "org.gretty:gretty:3.0.2"
  }
}

apply plugin: "org.gretty"

apply plugin: 'war'

description = "Servlet Template"
group = "com.grp"
version = "0.0.1"
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
repoUrlPublic = "http://..."

//gradlew run
ext {
   javaMainClass = "com.pckg.TemplateJAR"
}

war {
    baseName 'template'
}

gretty {
    debugPort = 5005      // default
    debugSuspend = true   // default

    httpPort = 8585

    servletContainer = 'jetty9.3'
}

repositories {
      // project nexus server repository
      maven {
          url repoUrlPublic
      }
}

dependencies {
  implementation 'org.slf4j:slf4j-api:1.7.25'
  implementation 'ch.qos.logback:logback-classic:1.2.3'
  implementation 'ch.qos.logback:logback-core:1.2.3'
  compileOnly 'javax.servlet:javax.servlet-api:3.0.1'
}

并且使用指定的版本会产生以下问题:

gradlew appRunDebug 拾取 JAVA_TOOL_OPTIONS: -Duser.language=en 在地址监听传输 dt_socket:5005 10:45:40.594 [main] 调试 org.akhikhl.gretty.ServiceProtocol - ServiceProtocol.send(61607, init 61611) 线程“主”java.net.ConnectException 中的异常: 连接超时:连接 在 java.net.DualStackPlainSocketImpl.connect0(本机方法) 在 java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) 在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在 java.net.Socket.connect(Socket.java:589) 在 java.net.Socket.connect(Socket.java:538) 在 java.net.Socket.(Socket.java:434) 在 java.net.Socket.(Socket.java:244) 在 org.akhikhl.gretty.ServiceProtocol$Writer.write(ServiceProtocol.groovy:76) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43) 在 org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrap.invoke(PogoMetaMethodSite.java:179) 在 org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:70) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) 在 org.akhikhl.gretty.Runner.run(Runner.groovy:118) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43) 在 org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190) 在 org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:70) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119) 在 org.akhikhl.gretty.Runner.main(Runner.groovy:53) 拾取 JAVA_TOOL_OPTIONS: -Duser.language=en 线程“Thread-65”中的异常 org.gradle.process.internal.ExecException:进程'命令 'C:\Java\jdk1.8.0_191\bin\java.exe'' 以非零退出值结束 1 在 org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:396) 在 org.gradle.process.internal.DefaultJavaExecAction.execute(DefaultJavaExecAction.java:38) 在 org.gradle.process.internal.DefaultExecActionFactory.javaexec(DefaultExecActionFactory.java:129) 在 org.gradle.api.internal.project.DefaultProject.javaexec(DefaultProject.java:1105) 在 org.gradle.api.internal.project.DefaultProject.javaexec(DefaultProject.java:1100) 在 org.gradle.api.Project$javaexec$6.call(未知来源) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) 在 org.akhikhl.gretty.DefaultLauncher.javaExec(DefaultLauncher.groovy:100) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104) 在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326) 在 org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352) 在 org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168) 在 org.akhikhl.gretty.LauncherBase$_launchThread_closure5.doCall(LauncherBase.groovy:208) 在 org.akhikhl.gretty.LauncherBase$_launchThread_closure5.doCall(LauncherBase.groovy) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104) 在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326) 在 org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) 在 groovy.lang.Closure.call(Closure.java:411) 在 groovy.lang.Closure.call(Closure.java:405) 在 groovy.lang.Closure.run(Closure.java:492) 在 java.lang.Thread.run(Thread.java:748)

设置 gretty 插件版本 3.0.1 后,脚本可以正常运行。知道为什么脚本不向后兼容吗?

【问题讨论】:

  • 我喜欢像代码一样格式化堆栈跟踪(以避免包装),但自动验证报告我的问题包含大量没有任何描述的代码。
  • 我看到与 3.0.2 类似的行为: 原因:java.net.ConnectException:连接被拒绝:连接 org.akhikhl.gretty.ServiceProtocol$Writer.write(ServiceProtocol.groovy:76)在 org.akhikhl.gretty.ServiceProtocol$Writer$write.call(Unknown Source) 在 org.akhikhl.gretty.LauncherBase$_beforeLaunch_closure2.doCall(LauncherBase.groovy:71)

标签: gradle gretty


【解决方案1】:

我得到了:

java.net.ConnectException: Connection refused: connect 
at org.akhikhl.gretty.ServiceProtocol$Writer.write(ServiceProtocol.groovy:76) 
...

从 IntelliJ IDEA 运行时。然后我从 IDEA 的“终端”运行它,它工作了。然后我再次从 IDEA 运行它......它工作了:-\

不停地问为什么...我只能推测 G​​retty 正在尝试编写一些文件,这是不允许的,当它在 IDEA 下运行时(可能是与 SSL 证书相关的文件),但是一旦这些文件被写入,它能够很好地阅读它们......虽然反对这一点的论点是问题的“阻塞”性质......“安全异常”会更合适。

【讨论】:

  • 我又遇到了这个问题,这个“补救措施”不起作用。更多信息作为事件保证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
相关资源
最近更新 更多