为什么我的脚本无法获取Grapes依赖项?

问题描述

我有一个带有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 Central和the dependency does exist。葡萄为什么找不到它?

解决方法

这两种方法在Eclipse中对我有效,但在Netbeans中不起作用。无论使用哪种方式,您的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')

或:

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline