我可以使用annotationprocessor從頭開始生成類,但我無法像lombok那樣修改類。我在android studio中搜索了由lombok生成的類,但是我什麼也沒找到。然後我通過他們的網站查看了龍目島概況,並在論壇中對其進行了調查,但是我沒有任何結果。其實我的問題很簡單。例如,當我使用@Setter時,lombok如何將生成的代碼與地雷統一起來。我該如何開發一個處理器?Lombok如何在現有類上生成代碼?
10
A
回答
4
看起來像How does lombok work?的副本,我會標記爲關閉但你的賞金阻止它。
總之,龍目島實際上並沒有生成代碼。相反,它使用未指定和未記錄的內部編譯器實現API調用來直接修改程序在讀取源代碼和輸出編譯字節碼之間的抽象語法樹。它可能會在沒有警告的情況下突然中斷或者更新到新的編譯器版本,但目前沒有其他辦法。
-1
龍目島正在編譯階段生成代碼。這裏是關於http://hannesdorfmann.com/annotation-processing/annotationprocessing101的教程。
如果你都是新來聲明自己的註釋,我強烈建議開始使用運行時註釋。它們更易於理解和調試,並且您的代碼在您熟悉的運行時階段「行事」。一個簡短的教程:http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html
相關問題
- 1. Project Lombok與Eclipse模板/代碼生成
- 2. 如何使用Java現有代碼爲類生成UML圖?
- 3. 如何在生成的源代碼上生成焊接查找類
- 4. Visual Studio 2017 - 無法從現有代碼生成類圖
- 5. srcgen4javasssit可以用來生成我現有類的源代碼嗎?
- 6. 如何從現有代碼生成表單文件?
- 7. 如何從現有的C#代碼生成Visio文件
- 8. 如何從現有代碼生成片段?
- 9. 我如何在eclipse中創建代碼生成器,可以生成有關類屬性的代碼
- 10. Swift代碼生成Realm類
- 11. 如何生成c#代碼?
- 12. 如何使用jooq代碼生成器與maven生成代碼
- 13. xtext代碼生成,如何避免代碼生成一行?
- 14. 如何設計生成Python代碼的代碼生成器
- 15. 如何使用寧靜代碼生成器生成代碼(.ts)
- 16. 如何爲沒有源代碼的類生成JavaDoc文檔?
- 17. 如何在Eclipse + PyDev下生成代碼?
- 18. 如何在STM32 CUBEMX中生成代碼?
- 19. 如何在Swift中生成TOTP代碼?
- 20. 生成PHP代碼,將生成XMLWriter的目標XML現在
- 21. 從現有類生成CodeDOM
- 22. 如何強制SilverLight在生成的代碼文件夾中生成代碼?
- 23. 如何在未找到任何代碼時生成代碼
- 24. gcc在sparc上生成32位代碼
- 25. 在代碼生成UIView上繪製UIBezierPath
- 26. 生成不生成代碼
- 27. 如何在Intellij Idea中從uml類圖生成java代碼?
- 28. 使用Lombok生成Java getter/setter以獲得帶註釋的代碼
- 29. 代碼生成
- 30. 代碼生成:在Excel中生成HTML
也可以重新「我如何開發一個處理器,如?」,最簡單的方法是編寫自定義Lombok註釋。見例如https://binkley.blogspot.co.uk/2014/12/writing-your-own-lombok-annotation.html – Rich