【发布时间】:2014-11-27 07:22:42
【问题描述】:
如何通过任务 makepom 将 IVY 准确转换为 Maven 配置?
1.) 例如,IVY“默认”配置在其Maven Scope 中没有等效项:
我明白......你可以把它放在生成任务中,makempom 会做以下等价:
<ivy:makepom ..... conf=”default,compile,runtime”>
<mapping conf="default" scope="compile"/>
<mapping conf="compile " scope="compile"/>
<mapping conf="runtime" scope="runtime"/>
</ivy>
2.) 但是当您在 IVY 中有动态配置时会发生什么,例如,使用这个 IVY 配置,例如“myConf”:
<configurations defaultconf="default->default">
<conf name="default" description="shortcut to runtime and master dependencies"/>
<conf name="compile" description="Used ONLY at compile time" />
<conf name="myConf" description="Not required at compile time BUT required for execution and so deployed to a server"/>
</configurations>
在这种从IVY翻译成Mave的案例中存在哪些可能性???特别是如果 un 有“n”个不同的配置,那么必须将“n”个配置配置到具有相应范围的 makepom 任务中似乎不太实际。另外我注意到,如果你没有在任务 makepom 中放置任何东西,生成的 pon 没有范围,并且总是被置于可选的:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3</version>
<optional>true</optional>
</dependency>
这个 maven 代码来自一个 ivy 文件,其中 commons-lang3 库被置于“默认”设置:
<dependency org="org.apache.commons" name="commons-lang3" rev="3.3" conf="default->default"/>
【问题讨论】: