java - 在 Java 中编译一行而不是另一行

标签 java eclipse ant

我有一个程序引用了我们网络驱动器上的一个文件(“PricingMaster.omas”),但是当我进行 Beta 测试时,我使用了一个不同的文件(“PricingMasterBetaTest.omas”)。目前我手动将字符串从一个更改为另一个。

所以:

File masterFile = new File("g:/DataTeam", "PricingMasterBetaTest.omas");

变成:

File masterFile = new File("g:/DataTeam", "PricingMaster.omas");

这实际上发生在几个文件的几个地方,所以,正如您可能想象的那样,有时我会忘记,我的用户最终会很困惑。所以我想知道是否有一种方法可以让我根据我正在编译它的目的来确定使用哪个字符串?

我试过问谷歌,但我缺乏正确措辞问题的知识。在我看来,伪代码看起来像这样:

@CompileDebug
File masterFile = new File("g:/DataTeam", "PricingMasterBetaTest.omas");

@CompileRelease
File masterFile = new File("g:/DataTeam", "PricingMaster.omas");

我在 Eclipse 中做这个项目,所以也许这是 Eclipse 可以帮助我的一个技巧?如果可能的话,我也不反对在 Ant 中这样做。抱歉,我知道我有点含糊(或含糊),我只是今天的 Google-fu 表现不佳。

最佳答案

基本上您遇到这个问题是因为您硬编码您的字符串。理想情况下,应该将此类字符串外部化.properties 文件中,然后您可以在该文件中指向另一个文件,而无需重新编译程序。

这并不难做到。 Eclipse 带有内置的 Externalise Strings 功能,可以为您处理所有 Java 代码。其他任何事情都只是在绕过这个问题。

Eclipse 的 Source 菜单:

Externalise Strings

关于java - 在 Java 中编译一行而不是另一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17307403/

相关文章:

java - 调用接受对象数组作为参数的静态方法时出错

java - 如何将方法放入AsyncTask

java - 数据驱动框架 - SendKeys 错误消息 - eClipse

Android Studio 上的 Android Tesseract OCR

Apache Ant 区别 - exec 与 apply

java - 如何动态更改字体名称?

java - 尝试覆盖方法时奇怪的 Eclipse 行为

java - ant中如何复制目录

java - 在 ARM 处理器上构建 jNetPcap 时出现 "libpcap.so is not a regular file"错误

Java:从文件扫描到数组列表,然后最小/最大/平均值/标准偏差