Java EhCache POM行为不端

Java EhCache POM行为不端,java,maven,ehcache,ivy,terracotta,Java,Maven,Ehcache,Ivy,Terracotta,上个月我问了这个问题,因为我无法使用M2E Eclipse插件将EhCache jar拉到本地Maven缓存中 现在,我正在尝试使用IvyConvertPom任务将几个EhCache/Terracotta POM文件转换为常春藤XML文件,该任务对于我本地存储库中的每个其他POM都非常有效,并且有数百个文件,它令人窒息,声明: 无法将给定pom文件转换为常春藤文件:java.io.IOException:无法为文件加载父级:/C:/Users/myUser/jars/net/sf/ehcache

上个月我问了这个问题,因为我无法使用M2E Eclipse插件将EhCache jar拉到本地Maven缓存中

现在,我正在尝试使用IvyConvertPom任务将几个EhCache/Terracotta POM文件转换为常春藤XML文件,该任务对于我本地存储库中的每个其他POM都非常有效,并且有数百个文件,它令人窒息,声明:

无法将给定pom文件转换为常春藤文件:java.io.IOException:无法为文件加载父级:/C:/Users/myUser/jars/net/sf/ehcache/ehcache terracotta root/2.5.0/ehcache-terracotta-root-2.5.0.pom。Parent=org.terracotta.forge-Parent;2.3 from=C:/Users/myUser/jars\net\sf\ehcache\ehcache terracotta root\2.5.0\ehcache-terracotta-root-2.5.0.pom to=C:/Users/myUser/jars\net\sf\ehcache\ehcache terracotta root\2.5.0\ivy.xml 找不到C:/Users/myUser\jars\net\sf\ehcache\ehcache terracotta root\2.5.0\ehcache-terracotta-root-2.5.0.pom的项目

以下所有EhCache/Terracotta工件都会发生这种情况:

net\sf\ehcache\ehcache terracotta\2.4.7\ehcache-terracotta-2.4.7.pom net\sf\ehcache\ehcache terracotta\2.5.0\ehcache-terracotta-2.5.0.pom net\sf\ehcache\ehcache terracotta root\2.4.7\ehcache-terracotta-root-2.4.7.pom net\sf\ehcache\ehcache terracotta root\2.5.0\ehcache-terracotta-root-2.5.0.pom 我不确定这个问题是否与我上个月遇到的问题有关,或者EhCache的开发人员只是采用了一种非标准的方式来编写POM,但现在已经有两次Maven IvyConvertPom在幕后使用Maven XSLT了,因为他们对JAR做了一些事情

有什么明显的事情会让人吃惊吗?否则,我必须调试常春藤代码,这听起来像是结束一个星期三的痛苦方式。如果有必要的话,我会这么做,但我想我会先问一下这里,以防我遗漏了一些引人注目的东西


提前谢谢

我认为问题在于常春藤无法解析org.terracotta.forge-parent;2.3

我不是常春藤或常春藤的专家,但我认为您可能需要以某种方式迫使常春藤使用terracotta maven存储库:

我想我在本地复制了这个问题,并用-d运行了ant,我可以看到它尝试了所有标准的maven repos,但并非所有的陶土文物都在maven central上


不过,我不知道如何将其他回购通知ivy,希望您知道,2.9.0之前的ehcache版本已经将terracotta工件声明为特定maven存储库提供的托管依赖项


2015年2月6日,ehcache项目对该漏洞进行了修复,并将其改为jar依赖项。

这项工作的背景是什么?为什么你需要从Maven转为Ivy?我这样问是因为尽管我是常春藤的忠实粉丝,但我的存储库是由Nexus Maven repository managerI管理的。我是一名严格时间线的独立开发人员,我给了Maven我绝对最好的机会,但遗憾的是,我无法在我设定的时间框架内建立并运行我的存储库/构建。因为我只在工作场所用过常春藤,所以我对它已经很熟悉了。我很清楚Maven是一个很棒的工具,总有一天我希望能完全掌握它,但现在我仍然坚持使用常春藤,它仍然很棒!,这意味着除非我不想使用RoundUp或其他公共回购协议,或者手工编写自己的常春藤文件,否则我需要一个POM-to-Ivy转换器。我知道这是一个三面绕仓的解决方案,但它适用于除EhCache之外的所有依赖项!你没领会我的意思,我在构建中也使用了常春藤。在存储库端,文件由Nexus管理。艾薇会说话,马文:-在我看来,这是两全其美。使用Nexus有很多很好的理由。