2012-01-20 2 views
0
Model/My_Table_Name.java 

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package models; 

import java.util.*; 
import javax.persistence.*; 
import play.db.jpa.*; 



@Entity 
@Table(name="My_Table_Name") 
public class My_Table_Name extends Model{ 
    public int rid; 
    public boolean siteEnabled; 
    public String finalUrl; 
    public String errorUrl; 
    public boolean tokenRequired; 

    public My_Table_Name(int rid,boolean siteEnabled, 
      String finalUrl, String errorUrl, boolean tokenRequired) 
    { 
     this.rid = rid; 
     this.errorUrl = errorUrl; 
     this.finalUrl = finalUrl; 

     this.siteEnabled = siteEnabled; 
     this.tokenRequired = tokenRequired; 
    } 

} 

Контроллер/application.javaOops: IncompatibleClassChangeError - playframework

@Before 
    static void doSomething() 
    { 
     List<My_Table_Name> config = My_Table_Name.findAll(); 
     redirect(config.get(0).finalUrl); 

    } 

Ошибка:

Oops: IncompatibleClassChangeError 

An unexpected error occured caused by exception IncompatibleClassChangeError: 
Implementing class 

StackTrace:

Oops: IncompatibleClassChangeError 
An unexpected error occured caused by exception IncompatibleClassChangeError: Implementing class 

play.exceptions.UnexpectedException: Unexpected Error 
    at play.Invoker$Invocation.onException(Invoker.java:244) 
    at play.Invoker$Invocation.run(Invoker.java:286) 
    at Invocation.HTTP Request(Play!) 
Caused by: java.lang.IncompatibleClassChangeError: Implementing class 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:129) 
    at play.db.jpa.JPAPlugin.onApplicationStart(JPAPlugin.java:118) 
    at play.plugins.PluginCollection.onApplicationStart(PluginCollection.java:480) 
    at play.Play.start(Play.java:515) 
    at play.Play.detectChanges(Play.java:618) 
    at play.Invoker$Invocation.init(Invoker.java:198) 
    ... 1 more 

выше мой код и я следую руководство для учебника YABE с тестом для класса Post, но предположил, что я могу использовать свою существующую таблицу в mysql db.

+0

запускает сервер Play без этого класса модели и кода @Before? какую версию Java вы используете? (запустить 'java -version') – digiarnie

ответ

0

Отсортировано. По-видимому, когда я побежал зависимость для моего проекта, он обрушил старую версию спящего режима и в пути классов были 2 ссылки на спящий режим,

один в моем Lib папку

и один в игре \ Lib папки

Я удалил спящий режим * .jar из папки моего приложения \ lib, и все работает

Смежные вопросы