我希望能够在构建时替换.java文件中的特定模式。 实际上,我只想要将某些字符串值替换为表示构建时间的值。 (我还希望保留原始源文件的完整性)。 除了手动方式外,是否有一种容易的方法来实现它呢? 我正在使用NetBeans作为我的IDE。
最好不要将此模式放在Java文件中,而是从资源(例如.properties文件)中加载它。
Maven具有资源过滤功能,您可以使用配置文件更改特定资源或从其他位置复制资源。Ant也提供了使用各种资源位置的机会。
您始终可以手动复制另一个属性文件。在所有情况下,源Java文件都保持不变。代码可以从IDE中运行,您可以在不重新编译代码的情况下更改模式。
myprop1=${val1}
myprop2=${val2}
<profiles>
<profile>
<id>local</id>
<properties>
<val1>localval1</val1>
<val2>localval2</val2>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<val1>prodval1</val1>
<val2>prodval2</val2>
</properties>
</profile>
</profiles>
manifest
任务将一个包含所需信息的清单嵌入JAR文件中。请参见http://ant.apache.org/manual/Tasks/manifest.html。尝试使用Ant的“replace”任务,这是一个示例:
<replace file="${src}/index.html" token="@@@" value="wombat"/>
用字符串"wombat"替换文件${src}/index.html中的字符串"@@@"。
我认为Ant或Maven可能对你有所帮助 - 你使用其中任何一个来执行构建吗?我没有使用过Maven,但在Java中做过类似的事情。
f.g.
代表什么? - TRiG