【问题标题】:Hibernate : org.glassfish.jersey.server.ContainerException: java.lang.NoSuchFieldError: NONE休眠:org.glassfish.jersey.server.ContainerException:java.lang.NoSuchFieldError:无
【发布时间】:2023-03-09 21:26:01
【问题描述】:

我已在 Google App Engine 上部署了 REST 服务(泽西岛)。我使用 Hibernate 4.2.0 作为 MySQL 数据库的 JPA。当我在本地系统上运行它时,我的应用程序运行得非常好。但如果我部署它并在 Google App Engine 上运行,则会出现以下错误:

org.glassfish.jersey.server.ContainerException: java.lang.NoSuchFieldError: NONE
    at org.glassfish.jersey.servlet.internal.ResponseWriter.rethrow(ResponseWriter.java:256)
    at org.glassfish.jersey.servlet.internal.ResponseWriter.failure(ResponseWriter.java:238)
    at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:439)
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

这些是构建路径的一部分:

我的 lib 文件夹中的 jars:

【问题讨论】:

  • 问题在于 JPA jar 冲突。
  • 也发布您的pom.xml
  • 我没有为此使用 Maven;所以没有 pom.xml!

标签: java hibernate google-app-engine jpa


【解决方案1】:

由于JPA2 中的“NONE”是新的,我怀疑您的classpath 上也有JPA1。找到并删除它。

现在GAE 中支持JPA 1.0JPA 2.0

看看配置JPA 2.0herehere

【讨论】:

  • 我尝试了试错法来找到导致问题的 jar,我发现我只包含了必要的 jar。我无法弄清楚我的类路径中哪个 jar 属于 JPA1。知道如何找到属于 JPA1 的 jar(以防万一我丢失了)?
  • @SuperStar war/WEB-INF/lib里面的罐子是什么@
  • @SuperStar local which server.??
  • 我没有在本地使用任何服务器,例如 Tomcat 或 Glassfish。我只是将它作为连接到本地计算机上的 MySQL 的 Google App 运行(不过我使用 MAMP)。我还安装了 Eclipse GAE 插件。
猜你喜欢
  • 2010-10-20
  • 1970-01-01
  • 2011-12-16
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多