我有一個後期編譯步驟,用於處理生成的類的Java字節碼。我希望爲圖書館消費者儘可能地減輕痛苦,所以我正在研究如何使這個過程自動化並且(如果可能的話)編譯器不可知。插入到Java編譯器中
Annotation Processing API提供了許多所需的功能(自動服務發現;由Eclipse支持)。不幸的是,這是針對碼發生器和doesn't support manipulation of existing artefacts:
初始輸入到工具被 認爲是由第零 輪被創建;因此,嘗試創建 源文件或類文件對應的 其中一個輸入將導致 FilerException。
API推薦的裝飾模式不是選項。
我可以看到如何使用運行時代理/工具執行此步驟,但這比手動構建步驟更糟糕,因爲它要求任何人甚至在API的外圍接觸點都將它們的JVM配置爲非明顯方式。
如javac所示,是否可以插入或包裝compiler tool?有沒有人成功地顛覆了註釋處理器來操縱字節碼,不管文檔說什麼?
您的鏈接已死亡。 – 2016-03-14 17:24:02