DSL-Json @compiledJson bean实例化错误

DSL-Json @compiledJson bean instantiation error

我正在使用 DSL-Json 并想使用 DSlJson 的 serialize() 序列化一个 Class 对象。我已经在 MAC 上安装了 Mono,这样我就不会在构建过程中遗漏任何东西。 Maven 构建大部分时间都挂起,我看到以下错误:

 /Users/<workspace_path>/DSLIntegration/target/classes/dsl_json/json/ExternalSerialization.java:[869,81] a.b.c.Example.Model.**Abstract is abstract; cannot be instantiated**
 /Users/<workspace_path>/DSLIntegration/target/classes/dsl_json/json/ExternalSerialization.java:[877,73] a.b.c.Example.Model.**Abstract is abstract; cannot be instantiated**

我使用的代码与 DSL-Json 的 Github link 中给出的代码相同:[https://github.com/ngs-doo/dsl-json]

有人可以帮我解决这个错误吗? 谢谢

看来

public Abstract abs;

让你悲伤。这可能只有在您没有最新的数据绑定编译器时才有可能。如果是这种情况,请尝试注释掉 属性(并清理引用它的代码)以查看它是否在没有抽象 class 功能的情况下工作(这应该在真正的旧版本中得到支持)。

如果它在那种情况下工作,很可能 Maven 没有下载最新的编译器(除非另有说明,否则它应该这样做)。

您可以从以下网址手动下载:https://compiler.dsl-platform.com:8443/platform/download/dsl-compiler.zip

并在 pom.xml 和

中指定
<configuration>
  <annotationProcessors>
  <annotationProcessor>com.dslplatform.json.CompiledJsonProcessor</annotationProcessor>
  </annotationProcessors>
  <compilerArguments>
    <Adsljson.compiler>path_to_compiler/dsl-compiler.exe</Adsljson.compiler>
  </compilerArguments>
</configuration>

如果您指定的路径不正确,Maven 将阻止并提示,因此您应该先从控制台尝试。

我无法在 MAC 上重现您的问题,但我添加了用于调试此类问题的详细日志记录选项。尝试将处理器依赖项更新到 v0.9 并启用 DEBUG 日志记录以获取详细信息:https://github.com/ngs-doo/dsl-json/blob/master/examples/Maven/pom.xml#L35 请注意,javac 输出在 Maven 中不可见,因此请尝试在显示 javac 输出的 IntelliJ 中编译它。