默认情况下,某些包将导入到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.");
我不相信这是... –
我觉得有些仪器可能会奏效。 –