檢查風格有一個功能,以完成我所需要的功能。
該功能稱爲導入控制。要設置它,您需要添加以下作爲TreeWalker
模塊的子項。我們已經爲此做了一個部分。您可能需要添加它。
<module name="ImportControl">
<property name="file" value="import-control.xml"/>
</module>
確保該文件的路徑對您的項目設置有效。如果您希望導致這些錯誤,您可以將severity
屬性設置爲error
。
接下來,您需要在config中輸入的路徑上創建import-control.xml
文件。它應該如下所示:
<?xml version="1.0"?>
<!DOCTYPE import-control PUBLIC
"-//Puppy Crawl//DTD Import Control 1.1//EN"
"http://www.puppycrawl.com/dtds/import_control_1_1.dtd">
<import-control pkg="com.ijento.zeus">
<allow class=".*" regex="true" />
<disallow class="java.time.ZoneOffset" exact-match="true"/>
</import-control>
允許所有其他類都需要「allow all」標記。禁止停止導入您想要阻止的類。這些事情的順序。它似乎從上到下評估規則。如果「允許所有」在最底層,它允許任何事情。
更多細節可以在這裏找到:http://checkstyle.sourceforge.net/config_imports.html#ImportControl
爲什麼你關心的是內部使用這個屬性?更好的問題:如果你知道哪些*內部使用了這個屬性,你能否找到一種方法來避免它們的使用,如果它證明是有害的? – Makoto
@Makoto我不在乎內部是否使用這個類。當我們的代碼使用這個類時,我關心當DST改變時ZoneOffset跟不上。在我們的測試和其他代碼中使用它並不是一個好主意,我可以推薦人們不要使用它,但我寧願有人在發現像我剛剛修復的bug之前得到警告。 –