【发布时间】:2012-05-21 06:51:06
【问题描述】:
我有一个带有常量的 Java 配置文件。
我正在使用 ant 根据构建替换常量的值。在预编译目标中:
<replace
file="Config.java"
value="default"
propertyFile="${build.env}.properties">
<replacefilter
token="@mytoken@"
property="myprop.x"/>
</replace>
效果很好。但是在我运行这个之后,我的源文件被修改了。因此,如果我再次运行它,它不会替换任何东西,因为 @mytoken@ 第一次被替换了。
我不想将 Config.java 放在项目之外,因为我希望它可以与 eclipse 一起使用,并且如果文件不在预期位置,则会出现很多编译错误。
我正在考虑在后期构建目标或其他东西中替换回来,但不确定这是否安全。如果构建失败或用户中断脚本,它将不会运行并且值不会被设置。
有什么帮助吗?提前致谢。
【问题讨论】:
-
最好的解决方案是在单独的临时位置运行构建,而不是在您的 Eclipse 项目中。
-
您的意思是复制项目并在那里运行脚本?不错的主意,并且可以编写脚本。
-
是的,我就是这个意思。通常从源存储库中检索一个空的构建文件夹,构建和清理。
标签: java eclipse ant properties build