1
我使用Jenkins作为CI服务器,并且Apache Ivy用于管理Android项目的依赖关系,Artifactory是托管所有工件的存储库。Apache Ant Ivy未能将Artifactory发布到Artifactory
在ivysettings.xml,配置看起来像下面:
<ibiblio name="test" m2compatible="true"
root="http://ip:8888/artifactory/libs-snapshot-local"
pattern="[organisation]/[module]/1.0/[artifact]-**1.0**-SNAPSHOT.[ext]">
</ibiblio>
在詹金斯构建的情况下,我打一个错误:
BUILD FAILED
C:\.jenkins\workspace\test\build.xml:1381: impossible to publish artifacts for com.test#dummy;[email protected]: java.io.IOException: PUT operation to URL http://ip:8888/artifactory/libs-snapshot-local/com/test/dummy/1.0/project-1.0-SNAPSHOT.apk failed with status code 500: Failed to save resource 'libs-snapshot-local:com/test/dummy/1.0/project-1.0-SNAPSHOT.apk'.
at org.apache.ivy.util.url.AbstractURLHandler.validatePutStatusCode(AbstractURLHandler.java:82)
at org.apache.ivy.util.url.BasicURLHandler.upload(BasicURLHandler.java:225)
at org.apache.ivy.util.url.URLHandlerDispatcher.upload(URLHandlerDispatcher.java:82)
at org.apache.ivy.util.FileUtil.copy(FileUtil.java:148)
at org.apache.ivy.plugins.repository.url.URLRepository.put(URLRepository.java:84)
at org.apache.ivy.plugins.repository.AbstractRepository.put(AbstractRepository.java:130)
at org.apache.ivy.plugins.resolver.RepositoryResolver.put(RepositoryResolver.java:234)
at org.apache.ivy.plugins.resolver.RepositoryResolver.publish(RepositoryResolver.java:216)
at org.apache.ivy.plugins.resolver.ChainResolver.publish(ChainResolver.java:244)
at org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:281)
at org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:260)
at org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:172)
at org.apache.ivy.Ivy.publish(Ivy.java:600)
at org.apache.ivy.ant.IvyPublish.doExecute(IvyPublish.java:311)
at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
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)
Total time: 9 seconds
Finished: FAILURE
然而,当我改变突出显示的“1.0 '到'1',它已成功发布到Artifactory。它看起来像点'。'不允许。或者我做的任何事情都是错的?
请指教。
您可以检查是否Artifactory的日志中包含的任何错误/异常,并张贴他们? – noamt 2012-02-08 10:18:59
我注意到的另一件事是,您将工件部署到所谓的m2兼容存储库,但检查部署路径,由于多种原因,它似乎不符合Maven 2标准。 – noamt 2012-02-08 10:22:39
您好,请您详细解释为什么它不符合m2标准? Artifactory日志只包含一行500错误代码,并且没有详细的错误。 – 2012-02-08 10:32:31