2017-06-28 54 views
0

我們有很多指定訪問規則的Eclipse項目,即它們列出那些類的目的是API的軟件包,並阻止/禁止訪問所有其他類。Eclipse:如何針對特定項目沉默API訪問警告?

這是非常好的和有意義的,除了單元測試。我們的單元測試訪問許多內部的類和方法,以驗證他們的預期行爲,不幸的是會產生幾萬(真的!)警告。因此,再也沒有人再檢查警告了,因爲找到與正在進行的班級有關的修改和修改實際上是不可能發現的。

我覺得非常令人失望和沮喪,因爲許多警告是最有效和最有幫助的。

是否有辦法禁用某些項目的訪問警告(例如,所有名稱以* .test結尾的項目)。或者是否可以在某些項目中產生沉默/壓制這些警告?

回答

0

有兩種選擇:

  1. 給特定.test插件明確許可才能看到內部包。在插件清單編輯器,轉到運行標籤,內包裝添加到導出包然後配置包可見所有插件隱藏期待您測試插件。引擎蓋下,這與x-friends指令生成Export-PackageExport-Package: org.example;x-friends:="org.example.tests"

  2. 打開.test項目屬性使項目特定設置插件開發>插件清單編譯器 。在下使用參考文獻您應該找到可以根據自己的喜好調整警告的選項。

+0

感謝您的提示加描述!聽起來像解決我的問題。我會測試一下,然後報告它是如何工作的。再次感謝! – mmo

+0

出色地工作!同時我也發現,可以將一個bundle定義爲另一個bundle的「Fragment」(並且隱式地也可以訪問它的所有內部包)。 – mmo

+0

是的,把你的'eclipse-test-plugin'項目變成碎片是一種很好的做法,因爲你不需要爲了測試的目的而使用'Export-Package'(畢竟x-friends只是一個提示) 。此外,片段還具有額外的好處,即它們可以使用所有主機包的導入,因此它們的清單可以縮短很多(通常它們只包含JUnit的導入)。 –