Verfy ошибка на геронимо с опенжпа
Я настроил простой пример динамического веб-проекта в eclipse, используя openjpa, но я всегда получаю ошибку Verfy. Сейчас я нахожусь в такой ситуации, что понятия не имею. Я использовал плагин TBD для улучшения кода объекта.
Так у вас есть подсказка, что такое работа?
Сервер приложений Geronimo запущен 20 web99 INFO [DefaultThreadPool 0] openjpa.Runtime - OpenJPA динамически загружает провайдера проверки. 21 web99 INFO [DefaultThreadPool 0] openjpa.Runtime - запуск OpenJPA 2.1.1 25 web99 INFO [DefaultThreadPool 0] openjpa.jdbc.JDBC - Использование словарного класса "org.apache.openjpa.jdbc.sql.MySQLDictionary". 2012-12-13 11:25:29,636 ОШИБКА [[jsp]] Servlet.service() для сервлета [jsp] в контексте с путем [/web99] вызвала исключение [java.lang.VerifyError: Ожидание кадра стековой карты в целевой ветви 43 в модели метода. Здравствуйте.()V по смещению 34] с основной причиной java.lang.VerifyError: Ожидание кадра стековой карты в целевой ветви 43 в модели метода. Здравствуйте.()V со смещением 34 в java.lang.Class.forName0(собственный метод) в java.lang.Class.forName(Class.java:264) в org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1552) в...
persistent.xml
<persistence-unit name="web99" transaction-type="RESOURCE_LOCAL">
<class>model.Hello</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/Inventarum"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="***"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
</properties>
</persistence-unit>
Вот мой код:
public class Db {
private EntityManagerFactory factory;
private EntityManager manager;
public Db(){
factory = Persistence.createEntityManagerFactory("web99");
manager = factory.createEntityManager();
}
public String getInfo(){
Query query = manager.createQuery("SELECT i FROM Hello i WHERE i.id=1");
Hello hello = (Hello) query.getSingleResult();
return hello.getName();
}
}
Класс персистентности, сгенерированный Eclipse:
@Entity
@Table(name="hello")
public class Hello implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(unique=true, nullable=false)
private int id;
@Column(length=255)
private String name;
public Hello() {
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Спасибо
Olaf
2 ответа
Использование JDK1.7(+) и используемой версии OpenJPA пока не поддерживает? Вот что обычно означают ошибки фрейма стека
Перейдите на версию 2.2.0 OpenJPA.