2012-08-30 61 views
5

En primer lugar, esta pregunta puede parecer muy parecidos: Play Framework: PersistenceException: The type is not a registered entity? (Ebean) pero no es ...Juego: 2.0.2 PersistenceException: No se puede registrar la clase de servidor Ebean

Estoy tratando de salvar a una entidad pero ni siquiera muestra la plantilla, después de reiniciar Reproducir simplemente da el error en el tema. Por supuesto, la aplicación compila.

que he hecho todos los pasos para utilizar Ebean con Play:

  • modelo anotado con @Entity (javax.persistence.Entity)
  • modelo se extiende Modelo (play.db.ebean.Model)
  • Ebean es habilitar en mis application.confebean.default="models.*" (mis clases están en el paquete models)

¿Alguna sugerencia? ¿Pruebas que puedo hacer? Cosas para verificar? Para ser justos, stackoverflow es mi último recurso ...

Gracias de antemano,

completo seguimiento de la pila:

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

tiene el mismo problema ...: \ esto me está volviendo loco –

+0

Para mí, sucede cada vez que se cambia el directorio del proyecto de juego. En alguna parte, de alguna manera, codifica el directorio donde se ejecuta la obra en un código compilado. –

Respuesta

-1

Desde el registro, parece que usted tiene que establecer el origen de datos de usuario :

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

Usted puede hacer que al verter la edición 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

Hola, gracias por responder, pero eso no fue todo ... Mi base de datos se configuró en application.conf. No sé cuál era el problema, cuando comencé con una nueva aplicación y tomé las cosas con calma (una cosa a la vez) simplemente funcionó. Estoy frustrado por este comportamiento de juego temperamental ... – user1637212

+1

Para mí, fue causado por 'ebean.default =" modelos. * "' Línea en configuración comentada, pero en esta pregunta parece que esta clave está configurada correctamente. Establecer usuario y contraseña para h2 es innecesario, se intentó sin él, también funciona. – kolen

14

Tuve exactamente el mismo problema descrito en la primera publicación. Es raro, en mi caso, sólo corriendo

# play 

> clean 
> compile 
> run 

la aplicación comenzó a trabajar de nuevo

+1

Actualicé Java a la versión 8, lo que me llevó a errores constantes desconocidos. La actualización de SBT de 0.13.0 a 0.13.1 solucionó eso. Después de eso obtuve este error de registro de Ebean, que se corrigió con los comandos dados. ¡Gracias! – Raidok

+1

Increíble, esto es mágico! – wrongusername

0

El problema es que las configuraciones Ebeans, alguna asociación no es correcta. Tal vez cambiaste algo en sus modelos de aplicación y no se registró en Ebean.

Cuestiones relacionadas