2016-06-20 9 views
2

これはHibernate Searchを使用したMavenプロジェクトである。サーブレットはWildfly 9で完全に動作します。春は豆をautowiresときHibernate SearchはWildfly 9で始まり、Wildfly 10で始まらない。

はできるだけ早く私はWildfly 10上でそれを起動すると、私はクラッシュを取得する:私は成功せずに宣言ライブラリの異なるバージョンを試してみました

ERROR [ContextLoader]:351 - Context initialization failed 
nested exception is java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.search.hcore.impl.HibernateSearchIntegrator not a subtype 
[...] 
Caused by: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.search.hcore.impl.HibernateSearchIntegrator not a subtype 
    at java.util.ServiceLoader.fail(ServiceLoader.java:239) 
    at java.util.ServiceLoader.access$300(ServiceLoader.java:185) 
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376) 
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) 
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480) 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:341) 
    at org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(IntegratorServiceImpl.java:57) 
    at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:247) 
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>(StandardServiceRegistryBuilder.java:73) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1915) 
    at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:372) 
    at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:454) 
    at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:439) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 

<spring.version>4.2.6.RELEASE</spring.version> 
    <spring.boot.version>1.3.5.RELEASE</spring.boot.version> 
    <lucene.version>4.10.4</lucene.version> 
    <hibernate-search-orm.version>5.3.0.Final</hibernate-search-orm.version> 
    <solr-core.version>4.10.4</solr-core.version> 

誰でも何が起こっているのか分かりませんか?

+0

この問題をどのように修正しましたか? – Gazeciarz

答えて

4

両方HibernateのORM WildFly 9に比べWildFly 10におけるバージョン8

顕著な差があればHibernateの検索が自動的にクラスパスに追加されることがあるので休止検索WildFlyに含まれていますその使用が検出されています。これはあなたのWARファイルを小さくし、最新の安定したバージョンを使用するので、私が推奨するアプローチです(私はSpringユーザーではありませんが、Springユーザーにとっては難しいことを聞くことが大好きです。あなたの永続プロバイダ実装

  • あなたのエンティティのどれがそう@Indexed
  • でアノテートされているようにHibernateを使用している

    1. :。両方の場合にHibernateフォーラム)

      検出ルールがトリガされますあなたの最善の解決策は、競合を避けるためにHibernate ORMとHibernate Searchのどちらも配備に含めないことを確認することです。

      独自のバージョンのフレームワークを使用したい場合は、次のプロパティを設定して、これらの依存性を注入しないようにするか(アプリケーションにバンドルするライブラリを使用するか)、カスタムこれらのバージョンをWildFlyモジュールで使用し、別のバージョンを使用します(別の「スロット」識別子を持つ代替バージョンを使用することもできます)。

      wildfly.jpa.hibernate.search.module = none 
      

      このプロパティは、persistence.xmlで定義する必要があります。

      これと同様のプロパティの詳細については、WildFly 10 JPA Reference Guideも参照してください。

    +0

    答えてくれてありがとうございました。 ORM全体ではなく、 'org.hibernate.search.annotations'を持たせるのにどのMavenパッケージを使うべきですか?また、すべてがSpring Beanを介して設定されているので、私は 'persistence.xml'を持っていません。 –

    +0

    私は、提供するHibernateの検索をスコープしようとしました、プロパティでpersistence.xmlを作成しようとしました、様々なMavenの設定を試してみました。例外は今後も続く。 –

    +0

    パッケージ 'org.hibernate.search.annotations'は、Mavenアーティファクト' org.hibernate:hibernate-search-engine'の一部です(どのように関係するかは不明です)。 – Sanne

    関連する問題