2012-08-30 69 views
5

首先的登記類,這個問題看起來相像: Play Framework: PersistenceException: The type is not a registered entity? (Ebean),但它不是...遊戲框架:2.0.2的PersistenceException:不能在Ebean服務器

我試圖挽救實體,但它甚至沒有渲染模板,我重新啓動後,它只是給主題中的錯誤。 當然,應用程序編譯。

我已經做了所有使用EBean與播放的步驟:

  • @Entity(javax.persistence.Entity)註釋模型
  • 模型擴展模型(play.db.ebean.Model
  • Ebean是啓用我application.confebean.default="models.*"(我的類都在models包)

有什麼建議?我可以做的測試?要檢查的東西? 爲了公平起見,計算器是我的最後一招......

由於提前,

完整的堆棧跟蹤:

play.api.Configuration$$anon$1: Configuration error [Cannot register class [models.Producer] in Ebean server] 
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:71) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Configuration.reportError(Configuration.scala:258) ~[play_2.9.1.jar:2.0.2] 
    at play.Configuration.reportError(Configuration.java:119) ~[play_2.9.1.jar:2.0.2] 
    at play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:71) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2] 
Caused by: java.lang.ExceptionInInitializerError: null 
    at java.lang.Class.forName0(Native Method) ~[na:1.7.0_02] 
    at java.lang.Class.forName(Class.java:264) ~[na:1.7.0_02] 
    at play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:69) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2] 
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) ~[scala-library.jar:0.11.3] 
Caused by: java.lang.RuntimeException: DataSource user is null? 
    at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.<init>(DataSourcePool.java:198) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.getDataSource(DataSourceManager.java:210) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceGlobalManager.getDataSource(DataSourceGlobalManager.java:63) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.getDataSourceFromConfig(DefaultServerFactory.java:427) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.setDataSource(DefaultServerFactory.java:388) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:168) ~[ebean.jar:na] 
+1

得到同樣的問題..:\這讓我瘋狂 –

+0

對我而言,每次播放項目的目錄都會發生變化。不知何故,它在編譯代碼中硬編碼劇本運行的目錄。 –

回答

-1

從日誌中,似乎你必須設置數據源用戶:

Caused by: java.lang.RuntimeException: DataSource user is null? 

你可以通過編輯倒的conf/application.con文件:

db.default.driver=org.h2.Driver 
db.default.url="jdbc:h2:mem:DB_NAME" 
db.default.user=sa  <-- HERE !! 
db.default.password="" 
db.default.logStatements=true 
+1

嗨,感謝您的回答,但那不是它......我的數據庫是在application.conf中設置的。我不知道問題是什麼,當我開始一個新的應用程序,並採取緩慢的事情(一次一件事),它只是工作。我對這種喜怒無常的行爲感到沮喪...... – user1637212

+1

對我來說,它是由'eb​​ean.default =「models。*」'配置中的行註釋掉的,但在這個問題中,這個鍵似乎設置正確。爲h2設置用戶和密碼是不必要的,嘗試沒有它 - 它也可以。 – kolen

14

我在第一篇文章中描述了完全相同的問題。這是奇怪的,於我而言,只是運行

# play 

> clean 
> compile 
> run 

應用開始重新工作

+1

我將Java更新爲版本8,這導致我發現未知的常量錯誤。更新SBT從0.13.0到0.13.1固定。之後,我得到了這個Ebean註冊錯誤,這個錯誤是用給定的命令修復的。謝謝! – Raidok

+1

令人驚歎的,這是神奇的! – wrongusername

0

的問題是Ebeans配置,一些協會是不正確的。也許你在他們的應用程序模型中改變了某些東西,而沒有在Ebean中記錄。