在eclipse中我們是否有任何插件/方式在使用某種方法時禁止(顯示錯誤/警告)。在我的代碼中,我想要確認System.currentTimeMillis()/ Calendar.getInstance()沒有被任何人調用,如果有人試圖使用它,eclipse應該顯示錯誤。禁止開發人員在Eclipse中使用某些API
感謝 Ankush
在eclipse中我們是否有任何插件/方式在使用某種方法時禁止(顯示錯誤/警告)。在我的代碼中,我想要確認System.currentTimeMillis()/ Calendar.getInstance()沒有被任何人調用,如果有人試圖使用它,eclipse應該顯示錯誤。禁止開發人員在Eclipse中使用某些API
感謝 Ankush
你可以寫你自己的FindBugs的插件,它依賴於FindBugs的API爲您提供關於方法調用的元數據(以字節碼中發現的其他操作碼中)。你需要明確實現自定義BytecodeScanningDetector
如果操作涉及一組被禁止的API(System.currentTimeMillis()
和Calendar.getInstance()
)在你的案件的執行,可以驗證。
Here's a tutorial讓你開始編寫一個FindBugs的插件。您可以在Eclipse中使用此插件,但最好在作爲構建的一部分的CI服務器中運行它。
您還可能發現其他靜態分析工具如PMD可能具有相同的功能,使用自己的API暴露。
另外,如果你只想作爲構建的一部分運行這一點,你可以委託這些檢查聲納,它允許easy construction of architectural rules like these。 注意 - 我還沒有嘗試過這方法,所以我會警告聲納架構約束似乎更適合,當你想禁止整個類的用法,而不是方法的用法。
Eclipse是一個IDE。它恰好包含了一個Java編譯器,但也有很多其他的Java編譯器在Eclipse之外運行。 Eclipse顯示Java編譯器返回的錯誤(IDE本身不是提供錯誤的錯誤)。
最好的辦法是使用Eclipse的搜索項目中引用的能力。這是一個手動過程,但它會找到你想要的大部分參考。當然,如果有人使用反射,所有投注都關閉。