提问者:小点点

葡萄为什么要抓我没要的jar?


我想写一个简单的Groovy脚本,它使用Apache HttpClient 4.1,因为我没有它的jar,我想用葡萄抓取它。到目前为止,我的脚本中只有…

@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.0')
import org.apache.http.impl.client.DefaultHttpClient;

但是当我运行这个时,我得到一个例外…

java.lang.RuntimeException: Error grabbing Grapes -- [download failed: commons-logging#commons-logging;1.1.1!commons-logging.jar]

当我只要求超文本传输协议客户端时,为什么Grapes会获得公共日志记录?如果是因为后者需要前者,那么我需要自己显式地获取超文本传输协议客户端的所有依赖罐子吗?我怎么知道它们是什么?有办法告诉Grapes自己做这件事吗?


共1个答案

匿名用户

之所以会发生这种情况,是因为公共日志记录是一种传递依赖项,即org. apache.http组件:httpclient的依赖项。

您可能遇到了问题,因为您的本地maven repo没有公共日志记录,并且不知道如何(或未配置)查找它。