2016-03-21 9 views
2

Ich versuche Hibernate Search mit vorhandenen Spring MVC-Anwendung zu integrieren, wo ich Hibernate ORM verwendet habe, um mit Database zu kommunizieren.Hibernate Search mit Spring MVC

Wenn ich Hibernate Search-Abhängigkeiten in der pom.xml hinzufüge, wird der Fehler unterschritten.

[com/poc/configuration/HibernateConfiguration.class]: 
    Invocation of init method failed; nested exception is  
    java.lang.NoClassDefFoundError: org/hibernate/service/spi/BasicServiceInitiator. 

Hier ist meine pom.xml-Datei.

<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/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.wex.poc</groupId> 
<artifactId>spring-security</artifactId> 
<packaging>war</packaging> 
<version>0.0.1-SNAPSHOT</version> 
<name>spring-security Maven Webapp</name> 
<url>http://maven.apache.org</url> 

<properties> 
    <springframework.version>4.2.4.RELEASE</springframework.version> 
    <springsecurity.version>4.0.3.RELEASE</springsecurity.version> 
    <hibernate.version>4.3.11.Final</hibernate.version> 
    <hibernate.search.version>4.4.0.Final</hibernate.search.version> 
    <jstl.version>1.2</jstl.version> 
</properties> 
<dependencies> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-search-engine</artifactId> 
     <version>${hibernate.search.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-search-orm</artifactId> 
     <version>{hibernate.search.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>2.5.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>9.3-1100-jdbc41</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.1.0</version> 
     <scope>provided</scope> 
    </dependency> 
    <!-- Spring --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>${springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>${springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-tx</artifactId> 
     <version>${springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>${springframework.version}</version> 
    </dependency> 


    <!-- Spring Security --> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>${springsecurity.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     <version>${springsecurity.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-taglibs</artifactId> 
     <version>${springsecurity.version}</version> 
    </dependency> 


    <!-- Hibernate --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>${jstl.version}</version> 
    </dependency> 

</dependencies> 
<build> 
    <finalName>spring-security</finalName> 
</build> 

Ich weiß, dass es wegen der Versionskonflikte zwischen Hibernate und Suche überwintern.

Aber ich bin nicht in der Lage, die richtige Kombination herauszufinden.

Bitte lassen Sie mich wissen, wenn jemand eine Idee dazu hat.

+0

bitte teilen Sie Ihre pom.xml Datei –

+0

Ich bearbeitet in der Frage. Bitte überprüfen Sie es jetzt. – Raghavendra

Antwort

0

Wenn Sie Hibernate ORM Version 4.3.x verwenden möchten, die letzte stabile Version von Hibernate Search es unterstützt, ist Hibernate Search Version 5.3.0.Final

Sie können nicht frei eine beliebige Kombination von Abhängigkeiten mischen: Wir dokumentieren die kompatiblen Bereiche in der README, auf den Downloadseiten, auf der und natürlich in der Referenzdokumentation.

Im Zweifelsfall überprüfen Sie bitte die pom.xml files of the sources on GitHub.

0

Es ist vorhanden Hibernate Search issue. Mögliche Lösungen finden Sie in Kommentaren.

+0

Nein, ist es nicht. Wir haben nie gedacht, dass diese viel ältere Hibernate-Search-Version mit dem Nie-Hibernate-ORM kompatibel ist: Wir dokumentieren eindeutig, welche Versionen kompatibel sind. Bitte sehen Sie meine Antwort. – Sanne

0

Hibernate Suche verursacht dieses Problem mit Hibernate Core 4.3.0.Hibernate die meisten der Kompatibilitätsprobleme behoben, Sie näher an GIT Hub project überprüfen.

+0

Hibernate Search verursacht kein Problem. Menschen müssen die richtigen Versionen verwenden. +1 um das github Projekt immer zu überprüfen! – Sanne