2016-07-04 18 views
5

Neo4j 3.0.1'i bir Java 8 uygulamasına yerleştirdim ancak SPI sorunları yaşadım. IntelliJ beklendiği gibi doğru sonuçlar üretir, ama en kısa sürede bir JAR dışlayıcı inşa olarak, çalıştırmak ve Neo4j yazma girişimi içinden RunningGömülü Neo4j SPI Sınıfı (lucene PostingsFormat) Hata

, aşağıdaki özel durum alıyorum: Orada

Caused by: org.neo4j.kernel.impl.store.UnderlyingStorageException: java.lang.IllegalArgumentException: An SPI class of type org.apache.lucene.codecs.PostingsFormat with name 'BlockTreeOrds' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath. The current classpath supports the following names: [Lucene50] 
    at org.neo4j.kernel.impl.transaction.command.LabelUpdateWork.apply(LabelUpdateWork.java:62) 
    at org.neo4j.kernel.impl.transaction.command.LabelUpdateWork.apply(LabelUpdateWork.java:33) 
    at org.neo4j.concurrent.WorkSync.doSynchronizedWork(WorkSync.java:121) 
    at org.neo4j.concurrent.WorkSync.apply(WorkSync.java:90) 
    at org.neo4j.kernel.impl.transaction.command.IndexBatchTransactionApplier.close(IndexBatchTransactionApplier.java:105) 
    at org.neo4j.kernel.impl.api.BatchTransactionApplierFacade.close(BatchTransactionApplierFacade.java:70) 
    at org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine.apply(RecordStorageEngine.java:336) 
    at org.neo4j.kernel.impl.api.TransactionRepresentationCommitProcess.applyToStore(TransactionRepresentationCommitProcess.java:78) 
    ... 25 more 

Neo4j ile başlayan bir istisna gibi görünmüyor, bu yüzden Maven inşasıyla bazı bağımlılıkların çözülmediğini düşünüyorum.

benim pom.xml dosyasında aşağıdaki vardır:

<dependency> 
    <groupId>com.sparkjava</groupId> 
    <artifactId>spark-core</artifactId> 
    <version>2.5</version> 
</dependency> 

<dependency> 
    <groupId>org.neo4j</groupId> 
    <artifactId>neo4j</artifactId> 
    <version>3.0.1</version> 
    <type>pom</type> 
</dependency> 

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>1.7.21</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.lucene</groupId> 
    <artifactId>lucene-codecs</artifactId> 
    <version>5.5.0</version> 
</dependency>   

<dependency> 
    <groupId>org.neo4j</groupId> 
    <artifactId>neo4j-slf4j</artifactId> 
    <version>3.0.0-M02</version> 
</dependency> 

<dependency> 
    <groupId>com.google.code.gson</groupId> 
    <artifactId>gson</artifactId> 
    <version>2.6.2</version> 
</dependency> 

<dependency> 
    <groupId>com.github.jknack</groupId> 
    <artifactId>handlebars</artifactId> 
    <version>4.0.5</version> 
</dependency> 

<dependency> 
    <groupId>com.opencsv</groupId> 
    <artifactId>opencsv</artifactId> 
    <version>3.7</version> 
</dependency> 

<dependency> 
    <groupId>commons-codec</groupId> 
    <artifactId>commons-codec</artifactId> 
    <version>1.10</version> 
</dependency> 

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>${jackson.version}</version> 
</dependency> 
<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-annotations</artifactId> 
    <version>${jackson.version}</version> 
</dependency> 
<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-core</artifactId> 
    <version>${jackson.version}</version> 
</dependency> 

Bu sorunu nasıl çözebilirim?

GÜNCELLEME:

sizin tarafınızdan çalıştırmak isterseniz ben yeniden oluşturulur gerçekten basit boş proje ile bu sorunu, kaynak burada bulunabilir ettik: https://github.com/SeanNieuwoudt/neo4j-spi

cevap

0

deneyin Şu bağımlılığı eklemek için:

<dependency> 
    <groupId>org.apache.lucene</groupId> 
    <artifactId>lucene-backward-codecs</artifactId> 
    <version>5.5.0</version> 
</dependency> 
+0

Maalesef, sorun hala var "lümen çekirdek" kavanoz ekleyerek – SeanNieuwoudt

+0

var? –

+0

Aynı şey, Maven ambalajıyla ilgili bir şey olduğunu düşünüyorum. Temiz bir demo projesi oluşturdum ve bir göz atmak istiyorsanız soruyu bir bağlantıyla güncelledim. Sorun kolayca tekrarlanabilir. – SeanNieuwoudt

1

Projenizi aldım ve tutulmamı gerçekleştirdim. Benim sorunum yok. İşte başladıktan sonra konsol günlükleri aşağıdaki gibidir:

[Konu-0] INFO org.eclipse.jetty.util.log - 473ms [Konu-0] INFO spark.embeddedserver.jetty.EmbeddedJettyServer @ başlatıldı Yapma - == Kıvılcım tutuşturdu ... [Konu-0] INFO spark.embeddedserver.jetty.EmbeddedJettyServer - >> Dinleme 0.0.0.0:8080 [Konu-0] INFO org.eclipse.jetty.server.Server - jetty-9.3. 6.v20151106 [Konu-0] INFO org.eclipse.jetty.server.ServerConnector - Başlayan ServerConnector @ 5aa07ed2 {HTTP/1.1, [http/1.1]} {0.0.0.0:8080} [Konu-0] INFO org .eclipse.jetty.server.Server - # 772ms başlatıldı

Erişim sırasında -Ben çıktı 'Merhaba Dünya" olarak basılmış var

Adımlar i takip:

1) java 8 3) Maven'in işaret maven projeleri gibi ithal sizin github url 2) projenizi indirildi kurulum başarılı oldu 3) Ran ana sınıfı 4) Çıkışı tarayıcıda gördüm.

Asıl sorunu çoğaltmak için herhangi bir adımı atlamıyor muyum? Veya maveninizle bir ilgisi yoktur. Beklenen kavanozların indirilip yüklenmediğini görmek için maven kurulumunu çalıştırdıktan sonra maven bağımlılıklarınızı kontrol edebilirsiniz.

İyi şanslar.

+0

Çalıştığınız için teşekkür ederiz. Bağımsız bir Jar artefaktı oluşturdunuz mu veya Eclipse içeriğinden mi çalıştırdınız? İkincisi de benim için çalışıyor, ama asıl eser olanı tek başına bir Jar'a paketledikten sonra uygulamayı çalıştırırken yaptığınız gibi "java-jar" ile çalıştırdığınızda sorun. Oluşturma sırasında Jar bağımlılıklarında paketin üzerine yazmak veya kopyalamıyor gibi görünüyor. – SeanNieuwoudt