我在我的一个 Grails 项目中使用 Groovy Spreadsheet Builder将一些数据导出为 Excel 文件。gradle assemble在我创建一个可运行的 jar(使用)并使用它之前,一切都很好。我在这样的服务中使用构建器:class ExcelService { ... void export(OutputStream outputStream) { ... PoiSpreadsheetBuilder.create(outputStream).build { apply ExcelStylesheet ... } } ...}当我尝试从使用生成的 jar 开始的应用程序中导出数据时,我将得到以下信息MissingMethodException:groovy.lang.MissingMethodException: No signature of method: my.package.ExcelService.apply() is applicable for argument types: (java.lang.Class)SpreadsheetBuilder 的 (Java) 接口如下所示:public interface SpreadsheetBuilder { void build(@DelegatesTo(strategy = Closure.DELEGATE_FIRST, value = WorkbookDefinition.class) @ClosureParams(value = FromString.class, options = "builders.dsl.spreadsheet.builder.api.WorkbookDefinition") Configurer<WorkbookDefinition> workbookDefinition);}在调试代码和 jar 的执行时,我在单步invokeMethod()执行ClosureMetaClass.在closure.getResolveStrategy();工作版本中调用Closure.DELEGATE_FIRST时将返回。调试jar,结果会0因为MissingMethodException解析策略错误而导致稍后抛出。目前我不知道如何解决这个问题。这种行为的原因是/可能是什么?我能做些什么来解决这个问题?我将 Grails 3.3.8 与 Java OpenJDK 1.8.0_192 一起使用。
添加回答
举报
0/150
提交
取消