【问题标题】:Why can't my script fetch a Grapes dependency?为什么我的脚本无法获取 Grapes 依赖项?
【发布时间】:2020-09-29 20:00:32
【问题描述】:

我有一个带有 Grapes 依赖项的脚本,如下所示:

@Grapes(@Grab(group="commons-io", module="commons-io", version="2.4"))
import org.apache.commons.io.output.TeeOutputStream
...

但是当我运行它时,我收到一个错误,即找不到依赖项。

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during conversion: Error grabbing Grapes -- [unresolved dependency: commons-io#commons-io;2.4: not found]

java.lang.RuntimeException: Error grabbing Grapes -- [unresolved dependency: commons-io#commons-io;2.4: not found]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
...

我正在使用 Groovy 2.0.5 和 Java 1.6.0_33。

我检查了 Maven 中心和 the dependency does exist。为什么葡萄找不到呢?

【问题讨论】:

  • 我认为可以肯定的是,您的古老 Java 版本无法与任何最近的 https 端点通信。
  • 看起来grapes默认使用不再存在的codehaus服务器。更新 Groovy 版本解决了这个问题。

标签: groovy apache-commons-io


【解决方案1】:

这两种方式在 Eclipse 中对我有效,但在 Netbeans 中无效。无论您使用哪种方式,您的group 都应该是org.apache.commons

groovy.grape.Grape.grab(group:'org.apache.commons', module:'commons-lang3', version:'3.3.2')

或:

@Grab(group='org.apache.commons', module='commons-lang3', version='3.3.2')

【讨论】:

    猜你喜欢
    • 2014-12-31
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    相关资源
    最近更新 更多