2015-09-09 19 views
5

Ebean'ı kullanan bir Play 2.3.x uygulamasını derlemek/paketlemek için Play Gradle Plugin'u kullanmaya çalışıyorum.PlayFramework + Ebean'ı Gradle ile Kullanma

Her şey derleme ve paketleme esnasında çalışıyor, ama app çalıştırdığınızda ben

Entity type class SomeEntity is not an enhanced entity bean. 
Subclassing is not longer supported in Ebean 

Peki nasıl Gradle derleme sırasında artırıcı çalıştırmak yapabilirsiniz olabilir iyi bilinen hata alıyorum?

cevap

5

Bu şekilde yaptım. Ben oyun 2.4 kullanıyorum ama sizin için çalışabilmelidir. aşağıdaki gibi

Önce build.gradle bir yapılandırma eklemek -

configurations { 
    enhance 
} 

Sonraki ebeanorm ajan bir bağımlılık ekleme aşağıda gösterildiği gibi:

dependencies { 
    enhance group: 'org.avaje.ebeanorm', name: 'avaje-ebeanorm-agent', version: '4.5.3' 
} 

Eğer gerekli oyun bağımlılıkları olduğundan emin olun sizin aşağıdaki gibi build.gradle:

dependencies { 
    play 'org.avaje:avaje-agentloader:2.1.2' 
    play "org.avaje.ebeanorm:avaje-ebeanorm-agent:4.5.3" 
} 

Son olarak, enhanceme yapmak için aşağıdakileri ekleyin. nt derleme görevi yürüttü sonra:

model { 
    components { 
     play { 
      binaries.all{binary -> 
       tasks.withType(PlatformScalaCompile) { 
        doLast { 
         ant.taskdef(name: 'ebean', classname: 'com.avaje.ebean.enhance.ant.AntEnhanceTask', classpath: project.configurations.enhance.asPath) 
         ant.ebean(classSource: "${project.buildDir}/playBinary/classes", packages: 'models.package.name', transformArgs: 'debug=1') 

        } 
       } 
      } 
     } 
    } 
0

@koolrich i çözümü denemiş ve ben taşındı derlemek etmedi, ancak bundan sonra sadece sorunu bulmaya iken dbmodels/* beklenen yoldu benim yol farklıydı.

Başlangıçta büyü ve donanımlar hakkında kafa karıştırıcı jargon gibi görünüyordu, şu bana neler olduğunu anlamaya yardımcı: https://openjpa.apache.org/builds/1.2.3/apache-openjpa/docs/ref_guide_pc_enhance.html Esasen, geliştirme sebat ile çalışmak için biraz daha yöntemleri ve özellikleri ekliyor.