4
Q
默認進口常規
A
回答
4
這個JIRA涵蓋你的問題。
它的大部分在這裏。
class DefaultImportSourceUnitOperation extends SourceUnitOperation {
public void call(SourceUnit source) throws CompilationFailedException {
source.getAST().addImportPackage("pkg1.pgk2.pkg3.");
}
}
class DefaultImportClassLoader extends GroovyClassLoader {
protected CompilationUnit createCompilationUnit(CompilerConfiguration config, CodeSource
codeSource) {
CompilationUnit cu = super.createCompilationUnit(config, codeSource)
cu.addPhaseOperation(new DefaultImportSourceUnitOperation(), Phases.CONVERSION)
return cu
}
}
請務必不要忘記將.
添加到包聲明的末尾。
Goodluck!
0
由於Groovy的1.8有一個與ImportCustomizer
一個簡單的方法:
def importCustomizer = new ImportCustomizer()
importCustomizer.addImports('com.looneytunes.Coyote', 'com.looneytunes.RoadRunner')
importCustomizer.addStarImports('com.acme')
importCustomizer.addStaticStars('com.looneytunes.Physics')
def configuration = new CompilerConfiguration()
configuration.addCompilationCustomizers(importCustomizer)
def shell = new GroovyShell(configuration)
shell.evaluate """
new Coyote().startPlanToCatch(new RoadRunner()) // no need for explicit imports
.useContraption(new PortableHole()) // from com.acme
.withPhysicsViolation({ forgetGravity(it) }) // method from com.looneytunes.Physics
.start()
"""
相關問題
- 1. 進口android.R默認
- 2. Eslint默認規則
- 3. Flex默認規則
- 4. 進口的UIKit默認情況下爲
- 5. Android Studio中管理默認進口
- 6. Magento的進口產品默認
- 7. 在Intellij Idea中混合常規進口和靜態進口Idea
- 8. 聲納默認規則
- 9. 默認的Udev規則
- 10. Make中的默認規則
- 11. cacti默認端口
- 12. Java繼承:嚴格的默認抽象和默認默認的衝突規範
- 13. 常規錯誤:1364字段「位置」沒有默認值
- 14. 與常規控制器/非默認數據源服務
- 15. 常規錯誤:1364字段「USER_ID」沒有默認值
- 16. 從常規方法調用協議默認實現
- 17. 默認模板參數是否進入單定義規則?
- 18. 更改Jetty默認端口
- 19. 默認接口實現
- 20. 默認的接口對象
- 21. 出口 '默認' 使用index.ts
- 22. SQL Azure的默認端口
- 23. iterm2默認窗口大小
- 24. 默認異常處理
- 25. 默認類型的常量
- 26. TypeScript默認常量導出
- 27. Laravel-Excel大規模進口
- 28. 異常處理默認catch異常
- 29. phpmyadmin更改默認排序規則
- 30. 自定義規則的默認消息
我怎樣才能利用這一點,我將創建這個groovy文件中,然後使用DefaultImportClassLoader一個單獨的jar? – anish