【问题标题】:Loop over ANT properties with same prefix (and extract suffix)循环遍历具有相同前缀(并提取后缀)的 ANT 属性
【发布时间】:2014-04-17 07:50:16
【问题描述】:

我使用 ant 处理依赖关系的 Java 产品的构建。

这是我的 project.properties 文件:

project.name=foo
project.version=1.0.0
thirdpart.commons-cli.version=1.2
thirdpart.guava.version=16.0.1

这是在我的 build.xml ant 脚本中使用以下内容加载的:

<property file="project.properties"/>   

我想遍历以“第三方”开头的所有属性。并检索每次“第三方”之间的名称。 & ".version" 和属性的值。

后面的想法是从共享服务器中检索正确的 jar 文件。这些信息将帮助我建立正确的 URL 来检索它们,同时允许我轻松更改我的依赖项版本。

如何进行 ant ? (感谢您的帮助)。

【问题讨论】:

    标签: java ant


    【解决方案1】:

    我建议不要构建自己的依赖管理器,而是使用Apache ivy

    几个优点。您可以从Maven Central 下载,而不是构建和填充共享服务器。标准 Maven 存储库管理器(nexus、artifactory、archiva)可用于在防火墙内托管存储库。

    例子:

    您的依赖项

    这是一个用于检索依赖项的示例 ivy.xml 文件

    <ivy-module version="2.0">
        <info organisation="com.myspotontheweb" module="demo"/>
    
        <configurations>
            <conf name="compile" description="Required to compile application"/>
        </configurations>
    
        <dependencies>
            <!-- compile dependencies -->
            <dependency org="commons-cli" name="commons-cli" rev="1.2" conf="compile->default"/>
            <dependency org="com.google.guava" name="guava" rev="17.0-rc2" conf="compile->default"/>    
        </dependencies>
    
    </ivy-module>
    

    【讨论】:

    • 感谢您,但我提出问题的目的是评估是否可以在不切换到其他技术的情况下满足我的需求。如果不能做不同的事情,Maven 构建当然是下一步。问题是,我可以用纯 ant 脚本做不同的事情吗?
    • 我想缺乏答案就是答案。似乎不可能循环共享相同前缀的 ant 属性。我会考虑您的完善想法来解决我的问题。非常感谢!
    猜你喜欢
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 2014-05-15
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多