1

2つの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には、クラスのプロパティの1つに使用される列挙型の宣言があります。

アプリケーションの起動時の実行時に、例外が発生します。

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から2番目のデータベースの構成を削除し、ebean.defaultの定義を「models。*」に置き換えると、すべて正常に機能します。

どんな助けでも大歓迎です。

ウラド。

4

1 に答える 1

1

私の知る限り、モデル クラスを個別のパッケージに入れる必要があり、単一のクラスを参照することはできません。

したがって、あなたの場合は次のようになります。

ebean.default="model.db.*"
ebean.db2="model.db2.*"
于 2013-02-25T18:41:43.013 に答える