我想创建一个类似于android的R的自动生成的资源文件。我知道如何解析和创建文件,并基本上创建一个新的类文件。我不知道该怎么做的是启动这个自动生成过程。因此,使用eclipse(尽管如果有办法以不可知的方式实现这种情况,我更喜欢它),那么如何触发自动生成会话来读取属性文件并创建.java文件保存静态变量和解析文件中的“键”,然后我可以从我的代码中引用?如何从资源文件创建自动生成的枚举?
回答
几个如何生成java源文件的例子have already been provided。读取属性文件并调用其中一个API应该相对容易。
要触发代码生成过程,您需要添加自定义生成步骤。用蚂蚁,只需add a custom task。然后将其连接到Eclipse Builder:项目属性 - >构建器 - >新建。
随后,Eclipse应该自己查找并刷新此文件。如果没有,请检查您的配置:首选项 - >常规 - >工作区 - >找到“刷新使用原生钩子或轮询”和类似的,并检查它们。 (请注意,我不能100%确定这最后一部分可以工作。)
阻力最小的路径是单独运行此构建步骤。如果你的属性文件没有经常改变,那么它不应该是一个大问题。这与您使用协议缓冲区,JAXB,wsdl2java等时的操作类似。如果您希望一切都像R.java一样神奇地工作,那么您可能必须做一些更复杂的操作:
- 尝试使用Eclipse Builder选项来控制何时执行Ant任务 - 如果您无法弄清楚,那么我会查看Eclipse如何连接上述项目(即Protocol Buffers,JAXB, WSDL2Java的,等等) - 看看ADT定制PreCompilerBuilder类 - 退房build-helper-plugin
谢谢你。正是我需要的。为了看看我能否为未来提供一些更多的细节,我会再给几天赏金,但在所有可能的情况下,这都是你的。 – AedonEtLIRA
如果ant为你工作,那么一旦你有ant任务添加一个建设者到eclipse项目(项目属性,建设者,添加蚂蚁)。选择任务和控制执行时间有很多选项。在过去,我已经能够设置这样一个单一的目录进行监视的变化,然后导致蚂蚁任务运行(做jsmin自动)。 – philwb
你说得对,我似乎忘记了包含关于Eclipse Builders的信息。为了完整性,我添加了它。 – jtoberon
通常使用ResourceBundle
创建一个对象,允许您通过键查找属性。您可以通过Java Trail了解ResourceBundle
。
基本的想法是你有一个.properties
扩展名的文本文件。您将ResourceBundle
对象指向该文件。然后,您可以使用getString()
或getObject()
方法将密钥传递给所需的属性。这就是它的全部。您只需在启动程序时(或在需要之前的某个时间)加载ResourceBundle
。
如果你创建你自己的,有一个ResourceBundle
作为成员值类,你可以用一个简单的代码有点像这样有一个简单get()
方法来获得属性值:
public String get(String aString)
{
String sVal = null;
try
{
sVal = (String)myProperties.getObject(aString);
}
catch (MissingResourceException e)
{
log.debug("Missing Property Value: "+aString);
}
return sVal;
}
希望这很有用。
谢谢,但不是我在找什么。我正在寻找最终的不可实例化的类,它将被自动生成以包含来自资源文件的密钥,然后我可以自动创建.java文件。 – AedonEtLIRA
对不起,当我看到你想从属性文件中读取时,我一定已经跳过了枪。最好的方法是使用'ResourceBundle'。 – Ruminator
- 1. Silverlight DataForm如何自动生成从ComboBox到枚举的绑定?
- 2. 如何为Qmake指定自动生成的资源文件?
- 3. 枚举图像资源枚举
- 4. 自动生成枚举查找表
- 5. 如何从Maven中的属性文件生成枚举?
- 6. 如何从com.trueaccord.scalapb生成源文件创建jar文件
- 7. 生成枚举动态
- 8. 如何以编程方式枚举resx文件中的资源?
- 9. 如何枚举字符串资源文件中的字符串?
- 10. 如何枚举XPS文件中的资源?
- 11. 生成枚举
- 12. 如何动态创建枚举?
- 13. 资源查找枚举
- 14. FOSRestBundle,生成创建资源的URL
- 15. 如何从枚举成员
- 16. 通过枚举值从资源获取文件
- 17. 生成资源文件
- 18. 从属性创建枚举
- 19. 从实体创建枚举
- 20. 从web.config创建枚举
- 21. 生成资源文件(资源生成器)
- 22. 如何为从TDictionary派生的类创建自定义枚举器?
- 23. 如何控制生成的JAXB枚举
- 24. Eclipse - 从其他源文件夹覆盖自动生成的源
- 25. C#@枚举从XSD生成的类
- 26. Android:资源字符串自动生成
- 27. MVC3资源文件命名问题 - 不自动生成代码
- 28. C#.Net自动资源文件设计器代码生成
- 29. 基于枚举创建枚举类别
- 30. 如何从SBT中的资源(或其他项目文件)创建源文件
如果你只是想改变资源(属性文件后一种方式来触发生成),你可以使用一个蚂蚁建设者,它调用你的发电机。右键单击项目 - >属性 - >生成器 - >新建 – Andreas