BeanCreationException创建bean时出错... ClassFormatError ... javax / validation /验证需要维持

时间:2013-06-04 15:22:59

标签: spring hibernate

我的独立应用程序中存在问题。它开始之前,但我更新了eclipse或者可能是其他的,桌面应用程序现在无法启动。

我在那里使用SPRING 3.2.3,HIBERNATE 4.1,SQLite。 我在64x窗口使用32x Eclipse, Eclipse使用32x Java JDK Project有Java Compiler v1.7 项目有JRE系统库1.7.0_21(包括rt.jar)

我尝试了所有组合,但没有任何帮助我。

请帮助我理解它是什么意思以及我如何解决这个愚蠢的异常?

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'ABNHibSessionFactory' defined in URL 
[file:/Q:/!PROJECTS/!JAVA/!DeskTop.PRJ/ABNPostBlank02/target/classes/META-
INF/database/Hibernate.xml]: Invocation of init method failed; nested exception is 
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract 
in class file javax/validation/Validation

这是stacktrace:

>> !
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ABNHibSessionFactory' defined in URL [file:/Q:/!PROJECTS/!JAVA/!DeskTop.PRJ/ABNPostBlank02/target/clas
ses/META-INF/database/Hibernate.xml]: Invocation of init method failed; nested exception is java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in clas
s file javax/validation/Validation
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at info.abnsoft.java.postblank.gui.MainAppWindow.initMGroups(MainAppWindow.java:605)
    at info.abnsoft.java.postblank.gui.MainAppWindow.createContents(MainAppWindow.java:135)
    at org.eclipse.jface.window.Window.create(Window.java:431)
    at org.eclipse.jface.window.Window.open(Window.java:790)
    at info.abnsoft.java.postblank.gui.MainAppWindow$4.run(MainAppWindow.java:732)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at info.abnsoft.java.postblank.gui.MainAppWindow.main(MainAppWindow.java:723)
Caused by: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/validation/Validation
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:266)
    at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:170)
    at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:103)
    at org.hibernate.cfg.Configuration.applyBeanValidationConstraintsOnDDL(Configuration.java:1704)
    at org.hibernate.cfg.Configuration.applyConstraintsToDDL(Configuration.java:1654)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1445)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1856)
    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)
    ... 18 more

我的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ABNPostBlank02</groupId>
  <artifactId>ABNPostBlank02</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
        <groupId>com.applerao</groupId>
        <artifactId>hibernatesqlite</artifactId>
        <version>1.0</version>
        <exclusions>
                <exclusion>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate</artifactId>
                </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>3.7.2</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.0.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.directory.studio</groupId>
        <artifactId>org.apache.commons.collections</artifactId>
        <version>3.2.1</version>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.1</version>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time-hibernate</artifactId>
        <version>1.3</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.6.Final</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>3.2.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.1.3dep-brew</version>
    </dependency>
  </dependencies>
    <repositories>
        <repository>
            <id>hibernatesqlite-maven</id>
            <url>https://hibernate-sqlite.googlecode.com/svn/trunk/mavenrepo</url>
        </repository>
    </repositories>

    <properties>
        <spring.orm.version>3.2.3.RELEASE</spring.orm.version>
    </properties>
</project>

2 个答案:

答案 0 :(得分:1)

问题出现在JAVAEE-API参考项目中!这是J6,但目前的项目升级到J7。主题已关闭。感谢大家。

答案 1 :(得分:0)

javax.validation依赖项添加到pom.xml中,同时确保您已经没有任何jar链接到您的应用程序与此jar的类。

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.0.0.GA</version>
</dependency>