我想創建一個類似於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. 從ResXRersourcewriter生成的資源文件中創建designer.cs文件
- 2. Silverlight DataForm如何自動生成從ComboBox到枚舉的綁定?
- 3. 替換字符串與枚舉枚舉生成自動protobuf的
- 4. 如何爲Qmake指定自動生成的資源文件?
- 5. 枚舉圖像資源枚舉
- 6. 自動生成枚舉查找表
- 7. 如何從Maven中的屬性文件生成枚舉?
- 8. 如何從com.trueaccord.scalapb生成源文件創建jar文件
- 9. 如何以編程方式枚舉resx文件中的資源?
- 10. 如何枚舉字符串資源文件中的字符串?
- 11. 如何枚舉XPS文件中的資源?
- 12. 生成枚舉動態
- 13. 生成枚舉
- 14. 從資源枚舉某些類型的所有文件
- 15. 如何動態創建枚舉?
- 16. 如何從字符串創建枚舉
- 17. 使用Jersey枚舉資源
- 18. 資源查找枚舉
- 19. FOSRestBundle,生成創建資源的URL
- 20. 如何從枚舉成員
- 21. 通過枚舉值從資源獲取文件
- 22. 生成資源文件
- 23. 創建枚舉動態
- 24. 從屬性創建枚舉
- 25. 從實體創建枚舉
- 26. 從web.config創建枚舉
- 27. 生成資源文件(資源生成器)
- 28. 如何爲從TDictionary派生的類創建自定義枚舉器?
- 29. 如何控制生成的JAXB枚舉
- 30. 如何從android資源文件夾中創建文件?
如果你只是想改變資源(屬性文件後一種方式來觸發生成),你可以使用一個螞蟻建設者,它調用你的發電機。右鍵單擊項目 - >屬性 - >生成器 - >新建 – Andreas