【问题标题】:ObjectifyService.init() method is undefinedObjectifyService.init() 方法未定义
【发布时间】:2019-06-13 05:55:00
【问题描述】:

我正在尝试在带有 Cloud Tools SDK 的 Eclipse 中的 App Engine 项目中使用 Objectify。 Objectify 的 GitHub wiki 的设置部分说:

在应用程序的引导程序中调用ObjectifyService.init();一种 servlet 上下文监听器是理想的。

我发现的每个教程或问题都说同样的话,但 Eclipse 告诉我 ObjectifyService.init() 方法不存在。下面的代码来自 Objectify GitHub wiki。

public class Bootstrapper implements ServletContextListener {
    public void contextInitialized(ServletContextEvent event) {
        ObjectifyService.init();    //"The method init() is undefined for the type ObjectifyService"
        ObjectifyService.register(MyClass.class);
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        // TODO Auto-generated method stub

    }
}

是否不再需要此调用?所有的教程,甚至看起来像官方文档的东西,都过时了吗?

【问题讨论】:

    标签: java google-app-engine google-cloud-platform objectify


    【解决方案1】:

    几乎可以肯定,您在类路径中包含了错误版本的 Objectify。确保仅存在 v6 版本。

    【讨论】:

    • 我一开始也是这么想的,但我没有在任何地方手动包含它。当我使用 Cloud Tools SDK 插件创建项目时,我刚刚选中了一个框。我注释掉了它抱怨的那一行,一切似乎都正常。
    • 我只能告诉你:Objectify v5 没有 init() 方法。 v6 可以,并且需要您调用它。如果您使用 App Engine Standard,则使用 v5 没有任何问题,但您应该知道您使用的是哪一个 :-)
    • 感谢您的帮助。我在没有选择 objectify 选项的情况下开始了一个新项目并自己添加了它。现在一切正常。
    猜你喜欢
    • 1970-01-01
    • 2012-09-17
    • 2021-03-31
    • 2014-04-22
    • 2019-05-15
    • 2015-04-26
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多