2012-03-09 33 views
1

在eclipse中我們是否有任何插件/方式在使用某種方法時禁止(顯示錯誤/警告)。在我的代碼中,我想要確認System.currentTimeMillis()/ Calendar.getInstance()沒有被任何人調用,如果有人試圖使用它,eclipse應該顯示錯誤。禁止開發人員在Eclipse中使用某些API

感謝 Ankush

回答

2

你可以寫你自己的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注意 - 我還沒有嘗試過這方法,所以我會警告聲納架構約束似乎更適合,當你想禁止整個類的用法,而不是方法的用法。

0

Eclipse是一個IDE。它恰好包含了一個Java編譯器,但也有很多其他的Java編譯器在Eclipse之外運行。 Eclipse顯示Java編譯器返回的錯誤(IDE本身不是提供錯誤的錯誤)。

最好的辦法是使用Eclipse的搜索項目中引用的能力。這是一個手動過程,但它會找到你想要的大部分參考。當然,如果有人使用反射,所有投注都關閉。

相關問題