当前位置: 首页 > 知识库问答 >
问题:

从Objectify v5到v6 ObjectifyService.init()的转换不会引发ClassDefFoundError

蒋奕
2023-03-14
package org.chemvantage;

import java.util.Date;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import com.googlecode.objectify.ObjectifyService;

public class EntityRegistrar implements ServletContextListener {

     public void contextInitialized(ServletContextEvent servletContextEvent) {
        System.out.println("Starting up: " + new Date());

        ObjectifyService.init();   // line 15

        ObjectifyService.register(Assignment.class);
        ObjectifyService.register(BLTIConsumer.class);
    }
}

servlet中未捕获的异常

java.lang.noClassDefFounderror:com/googlecode/objectify/objectifyService at org.chemvantage.entityRegistrar.contextInitialized(entityRegistrar.java:15)at org.eclipse.jetty.server.handler.contextHandler.callContextInitialized(contextHandler.java:843)at org.eclipse.jetty.servlet.servlet.servlet.callContextInitialized(.servletContextHandler.startContext(servletContextHandler.java:345)在org.eclipse.jetty.webapp.webappContext.startWebApp(webappContext.java:1406)在com.google.apphosting.runtime.jetty9.appEngineWebAppContext.java:175)在org.eclipse.jetty.webapp.webappContext.startWebApp(appEngineWebAppContext.java:175)在doStart(servletContextHandler.java:262)位于org.eclipse。jetty.webapp.webappContext.doStart(webappContext.java:522)在com.google.apphosting.runtime.jetty9.appEngineWebAppContext.doStart(appEngineWebAppContext.java:120)在org.eclipse.jetty.util.component.abstractLifecycle.start(abstractLifecycle.java:68)在AP.java:178)在com.google.apphosting.runtime.jetty9.jettyServletEngineAdapter.ServiceRequest(jettyServletEngineAdapter.java:120)在com.google.apphosting.runtime.javaruntime$requestrunnable.dispatchServletRequest(javaruntime.javatch:722)在com.google.apphosting.runtime.javaruntime$requestrunnable.dispatchRequest.runtime.javaruntime$NullSandBoxRequestRunnable.run(javaruntime.java:847)at com.google.apphosting.runtime.threadgrouppool$poolentry.run(threadgrouppool.java:270)at java.lang.thread.run(thread.java:748)

共有1个答案

颜修明
2023-03-14

好的,感谢任何代表我为这件事挠头的人。我想我找到了答案:

为了处理异步datastore操作(特别是留在后台的ofy().sa ve()操作),必须包含以下Java类,它扩展了ObjectifyFilter。

package org.chemvantage;

import javax.servlet.annotation.WebFilter;

import com.googlecode.objectify.ObjectifyFilter;

/**
 * Filter required by Objectify to clean up any thread-local transaction contexts and pending
 * asynchronous operations that remain at the end of a request.
 */
@WebFilter(urlPatterns = {"/*"})
public class ObjectifyWebFilter extends ObjectifyFilter {}

这是对web.xml文件中ObjectifyFilter所需定义的补充。

<web-app>
  <filter>
    <filter-name>ObjectifyFilter</filter-name>
    <filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>ObjectifyFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>
 类似资料:
  • 问题内容: 在Java中: 抛出。为什么?为什么在这里投降?我不知道原因。 问题答案: 让我重命名您的班级,以使事情更加清楚。 -> 。 -> 。 仅仅因为你是一个人并不意味着你是一个人。你可能是一个。这就是将A强制转换为A的原因。 另一方面,每个是吗?答案是“是”。这就是为什么您 可以 编写如下代码: 要么 另外值得注意的是,您 可以 执行以下操作: 这样做的原因是您的变量实际上是在引用实例。因

  • 问题内容: 我想知道为什么在引用“ w”之后会引发错误。您不是通过说obj = w来创建另一个指向该w实例的指针吗?也就是说,为什么与说谢谢一样呢? 问题答案: 没有什么比早上引用JLS更重要。 JLS 6.3。宣言的范围: 块中的局部变量声明的范围(第14.4节)是该声明在其中出现的其余部分,从其自身的初始化程序开始,并在局部变量声明语句的右侧包括其他任何声明符。 和 JLS 14.2 方块:

  • 问题内容: 我在运行存储过程时遇到以下异常: com.microsoft.sqlserver.jdbc.SQLServerException:不支持从UNKNOWN到UNKNOWN的转换。 该过程的定义如下: 我在Java中的参数定义如下: Object [] params = {“ 1,2,3”,“ d”,‘2’,“”,“”,1}; 我认为这是由角色造成的。有什么想法吗? 问题答案: 我找到了。

  • 我将spring与JPA一起使用,并尝试使用@query与SQL query一起执行查询,并尝试将结果映射到一个对象。我有不同的实体类和映射到其他dto,因为我不想要所有的列。获取以下错误 如何解决上述问题。 如果问题无法解决,那么我们可以使用spring data JPA在不使用@Query的情况下解决问题吗?怎么做? 使用JPQL::编辑:: 获取以下错误

  • 我将获得一个AWS S3图像资源作为S3ObjectInputStream,并希望将其放入Vaadin图像HTML组件中。Vaadin图像只有两种初始化方式。第一个是通过一个表示文件路径的字符串,这意味着将S3映像写入磁盘,由于数据安全原因,我无法这样做,第二个是通过实现“AbstractStreamResource”的东西。现在的问题是,如何将S3ObjectInputStream转换为实现“A