2017-05-08 1 views
0

저는 스프링 부트 초보자입니다. 웹, jpa 및 apache derby에 대한 의존성이있는 프로젝트를 만들었습니다.스프링 부트를 사용하여 jpa 프로젝트를 빌드/실행할 수 없습니다. STS

다음 오류가 발생합니다. 나는 spring boot STS, Spring Initializer를 시도했다. 오류는 동일합니다. 나는 간단한 프로젝트를 생성해야합니다 모든 것을 작동하고 잘하지만

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.JpaVendorAdapter]: Factory method 'jpaVendorAdapter' threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/HibernateException<br> 
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]<br> 
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]<br> 
... 46 common frames omitted<br> 
Caused by: java.lang.NoClassDefFoundError: org/hibernate/HibernateException 
at org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter.<init>(HibernateJpaVendorAdapter.java:64) ~[spring-orm-4.3.8.RELEASE.jar:4.3.8.RELEASE]<br> 
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.createJpaVendorAdapter(HibernateJpaAutoConfiguration.java:98) ~[spring-boot-autoconfigure-1.5.3.RELEASE.jar:1.5.3.RELEASE]<br> 
at org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.jpaVendorAdapter(JpaBaseConfiguration.java:103) ~[spring-boot-autoconfigure-1.5.3.RELEASE.jar:1.5.3.RELEASE]<br> 
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration$$EnhancerBySpringCGLIB$$5b1679e8.CGLIB$jpaVendorAdapter$4(<generated>) ~[spring-boot-autoconfigure-1.5.3.RELEASE.jar:1.5.3.RELEASE]<br> 
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration$$EnhancerBySpringCGLIB$$5b1679e8$$FastClassBySpringCGLIB$$1b1036c5.invoke(<generated>) ~[spring-boot-autoconfigure-1.5.3.RELEASE.jar:1.5.3.RELEASE]<br> 
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.3.8.RELEASE.jar:4.3.8.RELEASE] 
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358) ~[spring-context-4.3.8.RELEASE.jar:4.3.8.RELEASE]<br> 
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration$$EnhancerBySpringCGLIB$$5b1679e8.jpaVendorAdapter(<generated>) ~[spring-boot-autoconfigure-1.5.3.RELEASE.jar:1.5.3.RELEASE]<br> 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121] 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121] 
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121] 
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]<br> 
... 47 common frames omitted<br> 
Caused by: java.lang.ClassNotFoundException: org.hibernate.HibernateException<br> 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_121]<br> 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_121]<br> 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_121]<br> 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_121]<br> 
... 60 common frames omitted<br> 

다음마다

<?xml version="1.0" encoding="UTF-8"?> 
<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>com.example</groupId> 
    <artifactId>TestJpa</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>TestJpa</name> 
    <description>Demo project for Spring Boot</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.3.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.derby</groupId> 
      <artifactId>derby</artifactId> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 


</project> 
+0

예외를 살펴보면 Maven이 최대 절전 모드 의존성을 해결할 수 있음을 분명히 알 수있다. spring-boot-starter-data-jpa 아티팩트는 컴파일 종속성으로 Hibernate를 가지므로, maven install이 모든 의존성을 다운로드한다면 거기에 있어야한다. '프로젝트 업데이트 ...'를 수행하고 최대 절전 모드가 클래스 경로에 추가되었는지 확인할 수 있습니까? – Pranav

답변

1

난 당신이 누락 생각 내 pom.xml 파일되어 있는지 확인하기 위해 그것을 실행하려고했다 의존성.

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>4.3.11.Final</version> 
    </dependency> 

이것을 추가하고 확인하십시오.

+1

당신이 맞습니다. 그것은 매력처럼 작동했습니다. 하지만 내 봄 부팅 버전 (1.5.1)에 따라 최대 절전 모드 버전 (5.0.1)을 변경해야합니다. –

관련 문제