2017-06-06 68 views
2

我要的PostGIS添加到我的春天啓動的項目,所以我增加了以下的依賴:NoClassDefFoundError的:組織/休眠/啓動/ MetadataBuilder

<?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.gmoika</groupId> 
    <artifactId>GmoikaApi</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <name>GmoikaApi</name> 
    <description>GMoika project</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-data-rest</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.postgresql</groupId> 
      <artifactId>postgresql</artifactId> 
      <scope>runtime</scope> 
     </dependency> 

     <dependency> 
      <groupId>net.postgis</groupId> 
      <artifactId>postgis-jdbc</artifactId> 
      <version>2.1.7.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernatespatial</groupId> 
      <artifactId>hibernate-spatial-postgis</artifactId> 
      <version>1.1</version> 
     </dependency> 
     <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>4.3.11.Final</version> 
</dependency> 
     <dependency> 
      <groupId>com.vividsolutions</groupId> 
      <artifactId>jts</artifactId> 
      <version>1.13</version> 
     </dependency> 

     <dependency> 
      <groupId>net.spy</groupId> 
      <artifactId>spymemcached</artifactId> 
      <version>2.12.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.google.guava</groupId> 
      <artifactId>guava</artifactId> 
      <version>18.0</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.8</version> 
     </dependency> 

     <dependency> 
      <groupId>org.ini4j</groupId> 
      <artifactId>ini4j</artifactId> 
      <version>0.5.2</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mail</artifactId> 
      <version>1.4</version> 
     </dependency> 
     <dependency> 
      <groupId>com.rabbitmq</groupId> 
      <artifactId>amqp-client</artifactId> 
      <version>4.1.0</version> 
     </dependency> 

     <dependency> 
      <groupId>jaxen</groupId> 
      <artifactId>jaxen</artifactId> 
      <version>1.1.1</version> 
     </dependency> 

     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>2.3</version> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.persistence</groupId> 
      <artifactId>eclipselink</artifactId> 
      <version>2.5.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.persistence</groupId> 
      <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId> 
      <version>2.5.2</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
    <repositories> 
     <repository> 
      <id>OSGEO GeoTools repo</id> 
      <url>http://download.osgeo.org/webdav/geotools</url> 
     </repository> 
     <repository> 
      <id>Hibernate Spatial repo</id> 
      <url>http://www.hibernatespatial.org/repository</url> 
     </repository> 
     <!-- add JBOSS repository for easy access to Hibernate libraries --> 

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

</project> 

我有以下錯誤:

java.lang.Thread.run(Thread.java:745) 
     Caused by: org.springframework.beans.factory.BeanCreationException: 

    Error creating bean with name 'entityManagerFactory' defined in class path 
    resource 
[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.c 
    lass]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/boot/MetadataBuilder 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 
       at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
       at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
       at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
       at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1081) 
       at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:856) 
       at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) 
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) 
       at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) 
       at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) 
       at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) 
       at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) 
       at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) 
       at com.gmoika.GmoikaApiApplication.main(GmoikaApiApplication.java:18) 
       ... 6 more 
      Caused by: java.lang.NoClassDefFoundError: org/hibernate/boot/MetadataBuilder 
       at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:54) 
       at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353) 
       at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:370) 
       at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:359) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) 


... 22 moreenter code here 
     Caused by: java.lang.ClassNotFoundException: org.hibernate.boot.MetadataBuilder 
      at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
      ... 28 m  

也許是由於Hibernete版本。將PostGIS依賴項添加到我的項目時發生錯誤。

回答

2

請更改pom.xml5.0.4.Final中的hibernate-core的依賴關係。

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>5.0.4.Final</version> 
</dependency> 
+0

感謝響應,我改變它,但現在我有以下錯誤 未能執行目標org.apache.maven.plugins:Maven的編譯器插件:3.1:編譯(默認編譯)項目GmoikaApi :致命錯誤編譯:java.lang.RuntimeException:com.sun.tools.javac.code.Symbol $ CompletionFailure:沒有找到groovy.lang.Closure的類文件 –

+0

您能否爲此打開另一個線程或發佈整個堆棧跟蹤? –

+0

嘗試添加依賴項https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all/2.4.11 –

相關問題