【问题标题】:Ivy Need to retrieve files by organizationIvy 需要按组织检索文件
【发布时间】:2013-07-29 21:26:59
【问题描述】:

我们有一个项目正在使用 Ivy 从 Ant 转换为 Ant。它有点混乱,包括 Java、Coldfusion 和将元素重命名为小写。

除了一个问题外,我已经让它几乎正常工作了。我需要使用嵌入式版本字符串检索所有 jar。但是,某些 jar 文件 (organisation="org.jboss.seam") 需要在没有修订号的情况下检索。也就是说,我需要

commons-beanutil-1.6.jar (or whatever it is)

但是

jboss-seam-io.jar

我试过<include><exclude>

<ivy:retrieve log="${ivy.log}"
    pattern="${lib.dir}/[conf]/[artifact]-[revision].[ext]"
    conf="*">
    <exclude org="org.jboss.seam"/>
</ivy:retrieve>
<ivy:retrieve log="${ivy.log}"
    pattern="${lib.dir}/[conf]/[artifact].[ext]"
    conf="*">
    <include org="org.jboss.seam"/>
</ivy:retrieve>

&lt;ivy:retrieve&gt; 不接受包含和排除。我认为映射器可能是可能的,但 Ivy 文档非常稀少。

任何人都知道如何使用一种 Ivy 模式检索 jboss-seam 文件,但其他所有内容(包括 jboss-seam jar 的依赖项)都使用另一种 Ivy 模式?

【问题讨论】:

    标签: ant ivy


    【解决方案1】:

    好吧,我终于想通了。首先,它是 regexpmapper 而不是 regexmapper。然后,我发现我必须输入完整的路径名,并执行两次映射器,一次用于 jboss-seam 内容,一次用于其他所有内容:

    <ivy:retrieve log="${ivy.log}"
        pattern="${lib.dir}/[conf]/[artifact]-[revision].[ext]"
        conf="*">
        <firstmatchmapper>
            <regexpmapper from="${lib.dir}/([^/]*)/(jboss-seam.*)-([0-9].*)\.jar"
                 to="${lib.dir}/\1/\2.jar"/>
            <regexpmapper  from="(.*)"
                 to="\1"/>
        </firstmatchmapper>
    </ivy:retrieve>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-08
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多