0

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

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

不可能将给定的 pom 文件转换为 ivy 文件:java.io.IOException: Impossible to load parent for file:/C:/Users/myUser/jars/net/sf/ehcache/ehcache-terracotta-root/2.​​5.0/ehcache- terracotta-root-2.5.0.pom。Parent=org.terracotta.forge#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在hood) 对用他们的罐子做某事感到窒息。

有什么事情是显而易见的吗?否则我必须调试 Ivy 代码,这听起来像是结束星期三的痛苦方式。如果必须,我会这样做,但我想我会先在这里问,以防我遗漏了一些明显的东西。

提前致谢!

4

2 回答 2

0

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

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

http://repo.terracotta.org/maven2/

我想我在本地重现了这个问题并使用“-d”运行 ant,我可以看到它尝试了所有标准的 maven 存储库,但并非所有兵马俑文物都在 maven 中央。

不过,我不知道如何告知 ivy 其他 repos,希望你知道这个难题

于 2012-03-07T22:23:47.010 回答
0

2.9.0 之前的 ehcache 版本已将 terracotta 工件声明为由特定 maven 存储库提供的托管依赖项。

对此错误的修复已于 2015 年 2 月 6 日进入 ehcache 项目,在那里它变成了一个 jar 依赖项。

于 2017-03-22T19:13:23.837 回答