ant ivy java_使用Ant和Ivy解析javadoc文件

我想让Ivy同时获取log4j .jar和

JavaDocs.现在,我走到了尽头.如果我在我的ivy.xml中使用它…

…然后我得到.jar文件.但是当使用这个ivysettings.xml时……

defaultResolver="default"

defaultConflictManager="all" />

…和这个ivy.xml ……

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">

…然后我收到此错误消息:

java.lang.RuntimeException:模块log4j#log4j; 1.2.16的多个工件被检索到同一个文件!更新检索模式以修复此错误.

我在这里缺少什么?如何让Ivy解决JavaDoc和.jar文件?

编辑:

感谢到目前为止所有快速而详细的回复.这是我更新的ivy.xml:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation=

"http://ant.apache.org/ivy/schemas/ivy.xsd">

现在我收到此错误消息:

Buildfile: D:\workspace\foobar\build.xml

resolve:

[ivy:retrieve] :: Ivy 2.2.0 - 20100923230623 :: http://ant.apache.org/ivy/ ::

[ivy:retrieve] :: loading settings :: file = D:\workspace\foobar\ivysettings.xml

[ivy:retrieve] :: resolving dependencies :: foo#bar;[email protected]

[ivy:retrieve] confs: [default, compile, master, javadoc]

[ivy:retrieve] found log4j#log4j;1.2.16 in internal

[ivy:retrieve] found javax.servlet#servlet-api;2.5 in internal

[ivy:retrieve] found com.someother#proprietary-core;1.2.3 in internal

[ivy:retrieve] found com.someother#proprietary;1.2.3 in internal

[ivy:retrieve] found com.someother#scanner;1.0 in internal

[ivy:retrieve] :: resolution report :: resolve 332ms :: artifacts dl 10ms

---------------------------------------------------------------------

| | modules || artifacts |

| conf | number| search|dwnlded|evicted|| number|dwnlded|

---------------------------------------------------------------------

| default | 5 | 0 | 0 | 0 || 4 | 0 |

| compile | 4 | 0 | 0 | 0 || 4 | 0 |

| master | 4 | 0 | 0 | 0 || 4 | 0 |

| javadoc | 4 | 0 | 0 | 0 || 4 | 0 |

---------------------------------------------------------------------

[ivy:retrieve]

[ivy:retrieve] :: problems summary ::

[ivy:retrieve] :::: WARNINGS

[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::

[ivy:retrieve] :: UNRESOLVED DEPENDENCIES ::

[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::

[ivy:retrieve] :: log4j#log4j;1.2.16: configuration not found in log4j#log4j;1.2.16: 'master'. It was required from foo#bar;[email protected] default

[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::

[ivy:retrieve]

[ivy:retrieve]

[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS

Maven范围似乎存在问题.但到底我到底错过了什么?

问题是您在常春藤检索任务中使用的模式.它需要包含可选的“classifier”属性以确保文件名是唯一的:

分类器是Maven的东西,用于识别与Maven模块相关的其他伪像.

补充观察

无需复杂的常春藤设置.配置映射控制从其他模块下载哪些人工制品.

删除ivysettings.xml文件并在ivy.xml中尝试以下操作:

这会导致下载以下文件:

> log4j-1.2.16.jar

> log4j-1.2.16-javadoc.jar

它是如何工作的?

对于Maven模块,ivy创建了一个与每个标准Maven范围匹配的配置:

>主人:只有主罐子

> compile:main jar,加上用于编译的jar(这也是“默认”范围)

> runtime:主jar,加上用于编译的jar,运行时

>测试:主jar,加上用于编译,运行时,测试的jar

并且还为模块发布的每个附加工件(或分类器)创建配置:

>消息来源

> javadoc

这使您可以混合和匹配.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值