当通过 GroovyShell 调用时,这确实对我调试 Groovy 脚本有很大帮助。但是,这仍然只适用于通过完全限定的文件名(例如 file:///home/user/x/src/main/groovy/package/File.groovy)加载脚本时。
当我使用
URL url = Thread.currentThread().getContextClassLoader().getResource("src/main/groovy/package/File.groovy");
shell.parse(new File(url.toURI));
它失败了(预先设置了启用调试的编译器配置)。
因此,我的脚本驻留在类路径中并分配了包。它们同时执行(通过 File 直接和通过 File+Classloader 资源) - 但 IDE 调试仅在将其称为文件资源时才有效(相对!所以带有“错误”的 src/main/groovy/ 前缀。
仅供参考 - 脚本稍后应包含在 JAR 文件中,整个应用程序将作为 WAR 执行。
关于我可以尝试什么的任何提示?
谢谢和最好的问候,蒂莫