默認情況下,某些包將導入到Groovy類中。我知道你可以使用ImportCustomizer添加新的程序,但有沒有一種方法可以通過程序來刪除它們?如何以編程方式刪除Groovy中的默認導入?
在此先感謝您的答案。
默認情況下,某些包將導入到Groovy類中。我知道你可以使用ImportCustomizer添加新的程序,但有沒有一種方法可以通過程序來刪除它們?如何以編程方式刪除Groovy中的默認導入?
在此先感謝您的答案。
不可以。如果您仔細查看代碼,則會看到類似java.io
和java.math.BigDecimal
不由ImportCustomizer
處理。
這是一個遺憾。
默認導入在ResolveVisitor.java中處理。該代碼不允許修改默認導入或添加它們的方法。
榮譽爲andrei-krotkov查找代碼。
它看起來像是在https://github.com/groovy/groovy-core/blob/master/src/main/org/codehaus/groovy/control/ResolveVisitor.java#L54中定義的,但我認爲沒有辦法刪除它。 :( –
這不是一個很好的解決方案,但它的工作原理:
Arrays.fill(ResolveVisitor.DEFAULT_IMPORTS, "java.lang.");
我不相信這是... –
我覺得有些儀器可能會奏效。 –