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;
}
}控制器/应用程序.java
@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堆栈跟踪:
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教程的指南,并使用test for Post类,但我认为我可以使用我自己的mysql数据库中的现有表。
发布于 2012-01-21 10:46:55
解决了这个问题。显然,当我为我的项目运行依赖项时,它带来了旧版本的hibernate,并且在类路径中有两个对hibernate的引用。
一个在我的lib文件夹中
另一个在play\lib文件夹中
我从我的*.jar \lib文件夹中删除了hibernate库,一切正常
https://stackoverflow.com/questions/8945383
复制相似问题