我一直在玩Play!框架,隨着方向和主要API變化的不斷變化,它是一個不斷移動的目標。用Ebean播放2.4 NullPointerException
我有最近更新播放2.1或2.2的項目,這不是與Java 8兼容的不幸任務,在播放2.4是與Java 8
編輯兼容:Heroku的不下降支持Java 7.
現在我正在處理一個NullPointerException INSIDE Ebean類,我不知道爲什麼。在運行時
@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」)
這並沒有幫助解決問題....
任何指導,到這會是這樣的幫助!我在遊戲中!框架在這一點上,將不再使用它的任何項目.....
感謝您提供這些信息,雖然這確實解決了部署問題,但仍然不確定爲何Ebean在開發環境中運行時不會在Heroku上部署。 – ossys
我懷疑它與你的應用程序中的數據庫配置有關。如果您在http://help.heroku.com打開一張票,我們可以仔細查看 – codefinger
我會繼續並提交一張票來嘗試解決這個問題,謝謝! – ossys