2013-02-16 3 views
14

イム作業と書いていない、 テストは文句を言わないのは、私は少しを読んでいプレイフレームワーク2.1 JUnitテストは、JUnitテストを日食からzentaskチュートリアル以下

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) 

次の例外を与える日食のIDEから実行しますそれは、メインが助け内の次の行を追加しbuils.scalaを編集する一部の人 のために:ebeanEnabled:=真

それはnither実行中のIDEをCLOSEするプレイクリーン・コンパイル

任意のIDEをdidntの私には

として???

答えて

15

IDEで実行するユニットテストの設定については、blog postがあります。これは、テストを実行するときに使用するJavaに次のコマンドラインを追加することを提案:

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

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

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

Ebean user guideにも言及していますが(15.5.2 javaagentセクション)、Eclipseの設定例もあります。多分これが良くなる向上をスピードアップすることも

、:

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

だから、それが唯一の(プレイ中ORMモデルのデフォルトパッケージ)models.*になります。

+0

ありがとうございます。 – naoru

+0

私はこれをPlay 2.1.5でavaje-ebeanorm-agent-3.2.2.jarを使って試してみましたが、コンソールでこのメッセージを与える以外にはあまり意味がありません:transform> cls:play/db/ebean/Model msg:...無視フィールド_ebean_intercept – Splaktar

+1

@Splaktar http://mirrors.ibiblio.org/maven2/org/avaje/ebean/2.7.3/のjbean ebean-2.7.3-agent.jarを使用してください。仕事(今遊び2.2.6で) – Manu

0

モデルを拡張しているクラスの宣言からpublic修飾子を削除しようとしたときに、このエラーが発生しました。

私はモデルを使って "スルー"テーブルを作成していました(追加情報との多対多の関係)ので、保護されたアクセスが理にかなっています。おそらくこれを行う別の方法がありますが、javadocの演奏はかなり疎です。

6

あなたはAvaje Ebean Eclipseプラグインを使用することができます。

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

をインストールした後、プロジェクトを右クリックしてEbean強化を活性化してEbean強化を有効に選択します。

+0

+1これは私のために働いた。 – rishimaharaj

+0

これはPlay 2.1.5では私にとってはうまくいきません。 – Splaktar