【问题标题】:Glassfish + CDI results in IncompatibleClassChangeErrorGlassfish + CDI 导致 IncompatibleClassChangeError
【发布时间】:2011-01-26 23:26:21
【问题描述】:

第一次尝试 CDI。我正在使用 Glassfish v3。当我部署我的应用程序时,出现以下故障:

java.io.IOException: com.sun.enterprise.admin.cli.remote.RemoteFailureException: 加载应用程序时出现异常: org.glassfish.deployment.common.DeploymentException: java.lang.IncompatibleClassChangeError: com.example.arizona.client.ArizonaService 和 com.example.arizona.client.ArizonaService$App 不同意 InnerClasses 属性

在 com.fuhrer.idea.glassfish.server.GlassfishServer3.doParseResponse(GlassfishServer3.java:28) 在 com.fuhrer.idea.glassfish.server.GlassfishServer3Base.parseResponse(GlassfishServer3Base.java:156) 在 com.fuhrer.idea.glassfish.server.GlassfishServer3Base.invoke(GlassfishServer3Base.java:127) 在 com.fuhrer.idea.glassfish.server.GlassfishServer3Base.handleDeployment(GlassfishServer3Base.java:78) 在 com.fuhrer.idea.javaee.server.JavaeeServerInstance$2.run(JavaeeServerInstance.java:131)

我应该提一下,我什至还没有真正使用注入或任何其他 CDI 功能。这只是试图理顺依赖关系。

【问题讨论】:

    标签: glassfish glassfish-3 cdi


    【解决方案1】:

    我也遇到过同样的问题,但在 Tomcat 中使用 Weld。对我来说,问题是由将内部类定义更改为普通类引起的。结果,在我的例子中,旧的内部类仍然在类目录中,但有一个新的父类。

    清理类目录对我有用。

    【讨论】:

    • 我看到有点晚了,嗯,也许它会帮助某人:)
    【解决方案2】:

    将近一年后,我很遗憾地说我从未解决过这个问题,并且由于各种原因完全转移到另一个堆栈:Tomcat、Wicket 和 Wicket-CDI,所有这些都对我很有效。

    【讨论】:

      猜你喜欢
      • 2019-04-07
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多