Xin chào Tôi đang chạy thử nghiệm maven bằng cách sử dụng maven 3.0.3 với bản phát hành cuối cùng hibernate 4.0.0 và mùa xuân 3.1 trên bản cập nhật jdk7 2.Làm cách nào để chạy thử nghiệm đơn vị chạy trong java 7: java.lang.VerifyError: Mong đợi khung stackmap tại mục tiêu chi nhánh
Tôi nhận được lỗi sau.
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 63 in method ${myDomainClass}.equals(Ljava/lang/Object;)Z at offset 24
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
at java.lang.Class.getDeclaredMethods(Class.java:1808)
at org.hibernate.property.BasicPropertyAccessor.getterMethod(BasicPropertyAccessor.java:352)
at org.hibernate.property.BasicPropertyAccessor.getGetterOrNull(BasicPropertyAccessor.java:331)
at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:314)
at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:310)
at org.hibernate.internal.util.ReflectHelper.getter(ReflectHelper.java:250)
at org.hibernate.internal.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:229)
at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:314)
at org.hibernate.cfg.HbmBinder.bindSimpleId(HbmBinder.java:447)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:380)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:320)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:171)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXml(Configuration.java:3377)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processHbmXmlQueue(Configuration.java:3369)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3357)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1334)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1724)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1775)
at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:184)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:314)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
Phương thức equals của tôi đang sử dụng EqualsBuilder từ commons-lang 2.6. tôi đặt maven sau opts
SET MAVEN_OPTS=%MAVEN_OPTS% -XX:-UseSplitVerifier
sau khi đọc này Java 7 JVM verifyError
Lưu ý: kiểm tra các công trình của tôi dưới jdk 1.6 cập nhật 29.
Làm thế nào để sửa lỗi này? Có vẻ như thiết lập -XX: -UseSplitVerifier vẫn gây ra lỗi.
Tôi sẽ làm sạch và xây dựng lại toàn bộ dự án và thử các thư viện libons-lang khác. Có vẻ hơi giống vấn đề này: http://stackoverflow.com/a/8617057/1064325 – falsarella
Hibernate sử dụng cglib và phụ thuộc vào cách bạn đã thiết lập mùa xuân, nó cũng có thể sử dụng các thư viện tương tự, có thể chúng có thể đổ lỗi. Hãy thử sử dụng một phiên bản mới hơn của cglib trong classpath của bạn và xem có thỏa mãn không. –