将Ivy插件与Jenkins/Hudson中的Artifactory插件一起使用
问题描述:
我正在尝试使用Ivy插件(http://wiki.jenkins-ci.org/display/JENKINS/Ivy+Plugin)和Artifactory插件(http://wiki.jenkins-ci.org/display/JENKINS/Artifactory+Plugin)。将Ivy插件与Jenkins/Hudson中的Artifactory插件一起使用
我gettign以下异常:
java.lang.NoClassDefFoundError: org/apache/ivy/core/IvyContext
at org.jfrog.build.extractor.listener.ArtifactoryBuildListener.buildStarted(ArtifactoryBuildListener.java:48)
at org.apache.tools.ant.Project.fireBuildStarted(Project.java:2077)
at org.apache.tools.ant.Main.runBuild(Main.java:746)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: org.apache.ivy.core.IvyContext
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 6 more
根据这个bug报告,https://issues.jfrog.org/jira/browse/HAP-65,
插件故意依靠外部常春藤配置设置
但是,我无处可以找到如何做这种外部配置。任何帮助,将不胜感激。
答
我通过将常春藤jar(ivy-2.2.0.jar)复制到Artifactory插件的lib目录(.jenkins/plugins/artifactory/WEB-INF/lib)来解决问题。但我相信有更好的办法!