Я много лет боролся с Play! Framework, с постоянным изменением направления и большими изменениями API, это постоянная движущаяся цель.Play 2.4 с Ebean NullPointerException
Я был недавно несчастную задачу обновления Play 2.1 или 2.2 проект, который не совместим с Java 8, к Игре 2.4, который совместим с Java 8.
EDIT: 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)
код прекрасно работает в разработке, но падает, когда толкать на Хероку, почему это было бы?
Как вы можете видеть, нулевой указатель происходит внутри метода 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, когда она работает в среде dev. – ossys
Я подозреваю, что это имеет какое-то отношение к настройке базы данных в вашем приложении. если вы откроете билет по адресу http://help.heroku.com, мы сможем поближе познакомиться – codefinger
Я пойду вперед и отправлю билет, чтобы попытаться понять это, спасибо! – ossys