Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 播放2.4与Ebean NullPointerException_Java_Heroku_Playframework_Playframework 2.0_Ebean - Fatal编程技术网

Java 播放2.4与Ebean NullPointerException

Java 播放2.4与Ebean NullPointerException,java,heroku,playframework,playframework-2.0,ebean,Java,Heroku,Playframework,Playframework 2.0,Ebean,我已经为这部戏奋斗了很多年了!框架,随着方向的不断转变和API的重大变化,它是一个不断移动的目标 我最近遇到了一个不幸的任务,将一个与Java8不兼容的Play2.1或2.2项目更新为与Java8兼容的Play2.4 编辑:Heroku不会放弃对Java 7的支持 现在我正在处理Ebean类中的NullPointerException,我不知道为什么。我有以下代码: @Entity public class User extends Model { public static Mode

我已经为这部戏奋斗了很多年了!框架,随着方向的不断转变和API的重大变化,它是一个不断移动的目标

我最近遇到了一个不幸的任务,将一个与Java8不兼容的Play2.1或2.2项目更新为与Java8兼容的Play2.4

编辑:Heroku不会放弃对Java 7的支持

现在我正在处理Ebean类中的NullPointerException,我不知道为什么。我有以下代码:

@Entity
public class User extends Model {

    public static Model.Finder<Long, User> find() {
        return new Model.Finder<Long, User>(User.class);
    } 

    public static boolean emailExists(String email) {
        if(User.find().where().eq("email",email).findRowCount() > 0) {
            return true;
        } else {
            return false;
        }
    }
}
堆栈跟踪是:

java.lang.NullPointerException
at com.avaje.ebean.Model$Find.query(Model.java:548)
at com.avaje.ebean.Model$Find.where(Model.java:742)
at models.User.emailExists(User.java:9)
at controllers.UserController.doLogin(UserController.java:208)
代码在开发中运行良好,但在推到Heroku时崩溃,为什么会这样

如您所见,空指针发生在com.avaje.ebean.Model$Find.query()方法中。我已经检查了Ebean中的代码,试图用现在的线索确定是什么导致了这种情况。我还将Ebean调试的最大级别设置为9,Ebean似乎能够正确地识别所有实体

我使用的是:

addSbtPlugin(“com.typesafe.sbt“%”sbt play ebean“%”1.0.0)

但升级到:

addSbtPlugin(“com.typesafe.sbt”%”sbt play ebean“%”2.0.0)

这无助于解决问题


这方面的任何指导都会非常有用!我看完戏了!此时,该框架将不再用于任何项目….

Heroku不会删除使用Java 7的服务器。我假设您指的是,它确实将默认值JDK更改为8。但是,您仍然可以使用Java 7,方法是向应用程序的根目录添加一个
system.properties
文件,其中包含以下内容:

java.runtime.version=1.7

也将该文件添加到Git。

感谢您提供此信息,虽然这确实解决了部署问题,但仍不确定Ebean在开发环境中运行时为什么不在Heroku上部署。我怀疑这与应用程序中数据库的配置有关。如果你在开罚单,我们可以仔细看看,我会继续提交一张罚单,尝试解决这个问题,谢谢!
java.runtime.version=1.7