我使用 Jenkins Job DSL 插件完成了一项工作,以使用 SVNKit 库获取 SVN 分支,但是我在使用 Grape(使用 Ivy)设置 de jar 库时遇到了一个问题。
如果我在我的脚本中设置它:
@Grapes(
@Grab(group='org.tmatesoft.svnkit', module='svnkit', version='1.8.3')
)
import org.tmatesoft.svn.core.SVNDirEntry
import org.tmatesoft.svn.core.SVNNodeKind
...
...
我收到以下错误:
FATAL: startup failed:
General error during conversion: Error grabbing Grapes -- [download failed: net.java.dev.jna#jna;3.5.2!jna.jar]
java.lang.RuntimeException: Error grabbing Grapes -- [download failed: net.java.dev.jna#jna;3.5.2!jna.jar]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
...
这很好奇,因为如果我去 %USERPROFILE%\.groovy\grapes\org.tmatesoft.svnkit\svnkit\jars SVNKIT 的罐子就在那里,但出于某种奇怪的原因,Grapes 无法下载 JNA 罐子。
我解决了在葡萄路径中下载 JNA jar 的问题,并且它有效,但我想知道发生了什么以及如何以正确的方式执行此操作。
我正在使用:
- 视窗 7 64 位
- 甲骨文 JDK 1.6.0_45
- Apache Tomcat 5.5.26
- 詹金斯 1.553
- Job DSL Jenkins 插件 1.21
更新:我不知道为什么,但现在删除 de .groovy 文件夹后,似乎工作正常。
我想我在第一次尝试获取 JNA 时遇到了网络问题,Ivy 决定在 Maven Central 上将 JNA 设置为断开的链接。现在可以工作的原因可能是因为我删除了 .groovy 文件夹后,Grape 尝试下载,这次网络正常。
如果有人能澄清这一点会很好:)