Apache IVY到Maven:MakePom任务

时间:2014-10-02 10:02:33

标签: maven ivy nexus ivyde

如何通过任务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”confs配置到具有相应范围的makepom任务中似乎不太实际。另外我注意到,如果你没有在任务makepom中放任何东西,那么generared pon没有范围,总是可以选择:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
   <version>3.3</version>
   <optional>true</optional>
</dependency>

这个maven代码来自一个常春藤文件,其中commons-lang3 libs被置于“默认”设置:

<dependency org="org.apache.commons" name="commons-lang3" rev="3.3"  conf="default->default"/>

1 个答案:

答案 0 :(得分:0)

我自己回答。

只能使用Maven Scopes。如果在常春藤中有任何配置,它在Maven上没有他的等效范围,你必须在makepom任务中定义与Maven范围的等价,

例如: