Ivy 无法从 Maven Central 解析 log4j

Posted

技术标签:

【中文标题】Ivy 无法从 Maven Central 解析 log4j【英文标题】:Ivy can't resolve log4j from Maven Central 【发布时间】:2012-04-01 23:54:04 【问题描述】:

Apache Ivy 新手,无法解析来自 Maven Central 的最新 log4j jar。我正在使用 IvyDE 来管理我的所有依赖项并使用其所有默认值,我相信将其配置为使用 Maven 存储库或 Ibiblio。

This link 带你到 Maven 的 log4j 页面。从这里我只是使用该页面上提供的 Apache Ivy <dependency> 标签:

<dependency org="log4j" name="log4j" rev="1.2.16" >
    <artifact name="log4j" type="bundle" />
</dependency>

当我将它添加到我的ivy.xml 文件并将其保存在 Eclipse 中时,IvyDE 会自动运行 Ivy 解析...并且我收到一个错误:

“myProject”中 ivy.xml 的 Ivy 解析作业遇到了问题。

无法解决 myOrg#myProject;working@myMachine 的依赖关系

下载失败:log4j#log4j;1.2.16!log4j.bundle

下载失败:log4j#log4j;1.2.16!log4j.bundle

下载失败:log4j#log4j;1.2.16!log4j.bundle

下载失败:log4j#log4j;1.2.16!log4j.bundle

(最后 4 行虽然相同,但 实际上重复了 4 次!)

Maven Central 上的 log4j 有问题吗? 我的所有其他 jars 都顺利解决,我使用相同的技术来获取我所有的 jars。这是唯一失败的(大约 30 个)。提前致谢!

【问题讨论】:

你有什么 ivy 版本?今天突然出现这个问题:***.com/questions/9738075/…。也许你也是同样的问题? 【参考方案1】:

省略

<artifact name="log4j" type="bundle" />

part,它会下载正常的jar文件。

我认为您不需要捆绑规范部分,而且它(在我看来)像是某种异常。

bundle 甚至不是 maven 的 core packaging value:

目前核心封装值为:pom、jar、maven-plugin、ejb、 战争,耳朵,rar,par。这些定义了默认的目标列表 执行到特定的每个相应的构建生命周期阶段 包结构。

【讨论】:

在没有工件和类型部分的情况下,我遇到了完全相同的问题。只是: 和 Ivy 未能获取它。所有其他依赖项(例如 slf4j-api、slf4j-log4j12)都被顺利获取。最后我不得不自己下载jar并将其添加到运行时类路径中。【参考方案2】:

我使用了以下内容:

<dependency org="log4j" name="log4j" rev="1.2.17">
            <artifact name="log4j" type="jar" />
        </dependency>

它成功了。

【讨论】:

这对我也有效,而在我的情况下接受的答案失败了。 好吧..这是我猜的替代解决方案。太糟糕了,你不能接受 2 个答案

以上是关于Ivy 无法从 Maven Central 解析 log4j的主要内容,如果未能解决你的问题,请参考以下文章

ivy(2.3.0 或 2.4)不使用分类器解析 SNAPSHOT maven 依赖项

Gradle 6.0 的 Maven 和 Ivy 依赖解析失败

sbt/ivy 无法解析通配符 ivy 对文件系统解析器的依赖

如何使用 Ivy iBiblio 解析器连接到受 SPNEGO 保护的 Maven 存储库?

将自己的库从私有存储库发布到 maven Central

从 Maven Central 动态链接到最新的“jar-with-dependencies”