嗨,最近我刚刚发现了Ant的惊人功能,我想知道Ant是否具有以下功能。让我先解释一下我要做什么……我有一个产品,每个构建需要不同的构建规范,我讨厌手工做(该网站还没有上线,但我期待一个相当数量的订单/天)。我不能仅仅为每种设置组合构建一个jar,主要是因为每个jar都需要内置客户的用户id和许可证。期望的效果如下所示:
private final String license = "0123-4567-8910";
private final int userId = 1337;
需要说明的是:上面的值可以通过在命令行中传递参数来设置(希望如此)。
您可以使用Ant的<replace>
标签。
假设您的log4j属性包含占位符
log4j . properties的
log4j.appender.R.File = LOGS_DIR_PATH/JBulletinBoard.log
然后你可以这样做
<replace file="log4j.properties" token="LOGS_DIR_PATH" value="D:/logs"/>
我不太确定你想做什么,我将避免关于Maven和Ant的争论,因为生命太短暂了。
将一个属性文件外部化并拥有一个通用的ant文件是非常可能的。
告诉ant你的属性文件
<property file="licence.properties" />
你可以在文件中引用你的属性,比如
<echo message="Registered licence = ${build.licence}" />