14

zentaskチュートリアルに従い、junitテストを作成した場合、テストはEclipse IDEから実行されず、次の例外が発生します。

javax.persistence.PersistenceException: java.lang.IllegalStateException: Class [class play.db.ebean.Model] is enhanced and [class models.User] is not - (you can not mix!!)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1475)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1138)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1058)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:565)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:252)
    at com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:124)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)

少し読んだところ、buils.scalaを編集している人の中には、main内に次の行を追加すると役立つことがわかりました:ebeanEnabled:= true

私にとって、それはide running playcleancompileを閉じることはありませんでした

何か案は???

4

3 に答える 3

15

IDEで実行する単体テストの設定に関するブログ投稿があります。テストの実行時に使用されるJavaに次のコマンドラインを追加することをお勧めします。

-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar

Playにはebeanエージェントが付属していないようです。最初に、Ebean Webサイトから(メインのebeanパッケージで)ダウンロードする必要があります。

私はそれを試していません。

Ebeanユーザーガイドにも記載されており(15.5.2 javaagentセクション)、Eclipseを構成する例もあります。

また、拡張を高速化するには、おそらくこれがより良いでしょう:

-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar;packages=models.*

したがって、調査するだけですmodels.*(PlayのORMモデルのデフォルトパッケージ)。

于 2013-02-17T13:34:09.100 に答える
6

AvajeEbeanEclipseプラグインを使用できます。

http://www.avaje.org/eclipseupdate/site.xml

インストール後、プロジェクトを右クリックし、[Ebean拡張を有効にする]を選択して、Ebean拡張をアクティブ化します。

于 2014-01-30T10:01:04.207 に答える
0

Modelを拡張するクラスの1つの宣言からパブリック修飾子を削除しようとすると、このエラーが発生しました。

私はモデルを使用して「スルー」テーブル(追加情報との多対多の関係)を作成していたので、保護されたアクセスは理にかなっています。これを行う別の方法があるかもしれませんが、playjavadocはかなりまばらです。

于 2014-01-25T17:20:38.870 に答える