多年来我一直在为这出戏而奋斗!框架,随着方向的不断移动和主要API的变化,它是一个恒定的运动目标。
最近,我遇到了一项不幸的任务:将与Java 8不兼容的Play 2.1或2.2项目更新为与Java 8兼容的Play 2.4。
编辑:Heroku没有放弃对Java7的支持。
现在,我正在处理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;
}
}
}运行以下命令时,我会得到一个NullPointerException:
User.find().where().eq("email",email).findRowCount() > 0堆栈跟踪是:
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 ebean“% "1.0.0")
但升级为:
addSbtPlugin("com.typesafe.sbt“%”sbt ebean“% "2.0.0")
这无助于解决问题..。
任何关于这方面的指导都会很有帮助!我已经玩完了!目前框架将不再用于任何项目.
发布于 2015-10-14 01:32:03
Heroku不使用Java 7删除服务器。我假设您是指雪松-14迁徙,它确实将默认的 JDK更改为8。但是仍然可以使用system.properties 7,方法是向应用程序的根目录添加一个system.properties文件,其中包含以下内容:
java.runtime.version=1.7将该文件添加到Git中。
https://stackoverflow.com/questions/33114833
复制相似问题