2013-02-16 66 views
14

im निम्नलिखित zentask ट्यूटोरियल काम कर रहा है और एक JUnit परीक्षण लिखा नहीं, परीक्षण अभ्यस्त अपने निम्न अपवाद देनेखेलने ढांचा 2.1 JUnit परीक्षण ग्रहण से

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 अंदर मुख्य मदद की निम्न पंक्ति जोड़ने के लिए: ebeanEnabled: = सच

मेरे लिए

यह nither आईडीई चल closeing खेलने साफ संकलन

किसी भी आईडीई फ्लॉप जैसा???

उत्तर

15

आईडीई में चलाने के लिए यूनिट परीक्षण स्थापित करने के बारे में blog post है। यह जब परीक्षण चलाने के लिए प्रयोग किया जाता जावा के लिए निम्न कमांड लाइन को जोड़ने के लिए पता चलता है:

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

लगता है कि खेलने के लिए ebean एजेंट के साथ जहाजों, यह Ebean वेबसाइट पहले (मुख्य ebean पैकेज में) से डाउनलोड किया जाना चाहिए नहीं।

मैंने कोशिश नहीं की।

Ebean user guide यह भी उल्लेख करता है (15.5.2 जावागेंट अनुभाग), ग्रहण को कॉन्फ़िगर करने के लिए भी उदाहरण है।

इसके अलावा, वृद्धि में तेजी लाने के शायद यह बेहतर होगा:

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

तो यह केवल models.* में (डिफ़ॉल्ट पैकेज ORM मॉडल के लिए प्ले में) दिखेगा।

+0

धन्यवाद आपका समाधान बहुत अच्छा काम करता है !!! – naoru

+0

मैंने avaje-ebeanorm-agent-3.2.2.jar का उपयोग करके Play 2.1.5 में इसे आजमाया लेकिन यह कंसोल में यह संदेश देने के अलावा अन्य कुछ नहीं लगता है: transform> cls: play/db/ebean/model msg: ... फ़ील्ड _ebean_intercept – Splaktar

+1

@Splaktar को अनदेखा करें कृपया http://mirrors.ibiblio.org/maven2/org/avaje/ebean/2.7.3/ से जार ईबीन-2.7.3-agent.jar का उपयोग करें और यह होगा काम (अभी खेल 2.2.6 के साथ) – Manu

0

मुझे यह त्रुटि मिली जब मैंने मॉडल संशोधित कक्षाओं में से किसी एक की घोषणा से सार्वजनिक संशोधक को हटाने का प्रयास किया।

मैं "माध्यम" तालिका बनाने के लिए एक मॉडल का उपयोग कर रहा था (अतिरिक्त जानकारी के साथ कई रिश्तों में से कई), इसलिए सुरक्षित पहुंच समझ में आता है। शायद ऐसा करने का एक और तरीका है, लेकिन नाटक जावाडोक बहुत अस्पष्ट है।

6

आप Avaje Ebean ग्रहण प्लग इन का उपयोग कर सकते हैं: स्थापना के बाद

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

, अपनी परियोजना पर राइट क्लिक करके Ebean वृद्धि को सक्रिय करने और Ebean संवर्धन सक्षम करें का चयन।

+0

+1 यह मेरे लिए काम किया। – rishimaharaj

+0

यह मेरे लिए खेल 2.1.5 के साथ काम नहीं कर रहा है। – Splaktar