我工作的一個多模塊的Maven基於項目中的一個模塊包含了其他模塊使用的自定義註釋的幾個註解處理器。當我將註釋處理器模塊的依賴項添加到任何其他模塊時,那些模塊的註釋將由這些註釋處理器處理。使用自定義註解處理器,與檢查框架
但最近我綜合Checker Framework(類型註釋),然後所有的自定義註解處理器(我上面提到的)停止工作。非常感謝如何讓他們即使使用Checker Framework也能工作的想法?
要清除的情況下,
比方說,我有一個名爲module_A行家模塊。在這個模塊中,我有一個名爲「@FoodItem」的註解(類級別)。我需要強制執行一條規則,即任何使用「@FoodItem」註釋標註的類都應該實現接口「Food」。所以我在處理這些類的相同模塊(module_A)中編寫了一個註釋處理器「FoodItemAnnotationProcessor」,並檢查是否符合該規則。
然後讓我們說我有一個名爲module_B另一個模塊具有行家依賴於module_A。在這個模塊中,我有一個名爲「Pizza」的類,該類使用「@FoodItem」註釋進行註釋。
如果使用上述配置構建項目(具有module_A和module_B),則在編譯階段執行「FoodItemAnnotationProcessor」,並驗證上述規則的類「Pizza」。
之後我集成檢查器框架module_B(如所提到的here)。然後,檢查器框架相關的驗證在編譯時按預期執行,但「FoodItemAnnotationProcessor」停止工作。
您可以提供關於您的設置的更多細節,或者(最好是!)一個最小的工作示例? – mernst
添加了對場景的描述 –
您引用的指令的第3步包含一個代碼片段,其中包含註釋「<! - 添加您希望在此處啓用的所有檢查器 - >'。你在那裏加入了FoodItemAnnotationProcessor嗎? – mernst