我遇到了一些奇怪的问题,试图配置对两个oracle数据库的访问。这是我的配置文件的样子:
db.default.url="jdbc:oracle:thin:@db1:1521:DB1"
db.default.driver=oracle.jdbc.driver.OracleDriver
db.default.user=username1
db.default.password=password1
db.db2.url="jdbc:oracle:thin:@db2:1521:DB2"
db.db2.driver=oracle.jdbc.driver.OracleDriver
db.db2.user=username2
db.db2.password=password2
ebean.default="model.db.Class1,model.db.Class2"
ebean.db2="model.db2.Class3,model.db2.Class4"
Class1声明了一个用于其中一个类属性的枚举。
在应用程序启动时的运行时,我得到一个例外:
play.api.UnexpectedException: Unexpected exception [NoClassDefFoundError: models/db Class1$myEnum] at lay.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3$$anonfun$1.apply(ApplicationProvider.scala:134) ~[play_2.9.1.jar:2.0.4]
...
当在配置文件中单独列出类时,看起来Ebean无法找到我的枚举声明。如果我从application.conf中删除第二个数据库的配置,并用“models。*”替换ebean.default的定义,那么一切正常。
非常感谢任何帮助。
维拉德。
答案 0 :(得分:1)
据我所知,您必须将模型类放入单独的包中,不能引用单个类。
所以在你的情况下,它将是:
ebean.default="model.db.*"
ebean.db2="model.db2.*"