2016-07-04 4 views
5

मैंने जावा 8 एप्लिकेशन में नियो 4j 3.0.1 को एम्बेड किया है, लेकिन मैं एसपीआई मुद्दों में भाग रहा हूं।एंबेडेड नियो 4 जेपी एसपीआई क्लास (लुसीन पोस्टिंगफॉर्मैट) त्रुटि

से भीतर इंटेलीजे की उम्मीद के रूप में सही परिणाम का उत्पादन, लेकिन जैसे ही मैं एक जार करने के लिए विरूपण साक्ष्य का निर्माण, इसे चलाने और Neo4j लिखने के लिए प्रयास चल रहा है, मैं निम्नलिखित अपवाद:

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 से कोई अपवाद नहीं है, इसलिए मुझे लगता है कि कुछ निर्भरताओं को मेवेन बिल्ड के साथ हल नहीं किया जा रहा है।

मैं अपने pom.xml फ़ाइल में निम्न है:

<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> 

मैं इस मुद्दे को कैसे ठीक करूं?

अद्यतन:

मैं फिर से बनाया गया एक बहुत आसान खाली परियोजना के साथ इस मुद्दे, स्रोत यहां पाया जा सकता है कि आपने अपने अंत पर इसे चलाने के लिए करना चाहते हैं: https://github.com/SeanNieuwoudt/neo4j-spi

उत्तर

0

कोशिश निम्नलिखित निर्भरता जोड़ने के लिए:

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

दुर्भाग्य से, समस्या अभी भी – SeanNieuwoudt

+0

हो सकता है कि शायद 'ल्यूसीन-कोर' जार जोड़ना हो? –

+0

वही बात, मैं मैवेन पैकेजिंग के साथ कुछ करने के लिए मानता हूं। मैंने एक साफ डेमो प्रोजेक्ट बनाया है और यदि आप एक नज़र रखना चाहते हैं तो इसे एक लिंक के साथ प्रश्न अपडेट करें। समस्या आसानी से पुन: उत्पन्न होती है। – SeanNieuwoudt

1

मैंने आपकी परियोजना ली और मेरे ग्रहण में निष्पादित किया। मुझे कोई समस्या नहीं है। यहाँ शुरू करने के बाद कंसोल लॉग नीचे हैं:

[थ्रेड-0] जानकारी org.eclipse.jetty.util.log - सक्रिय किए गए @ 473ms [थ्रेड-0] जानकारी spark.embeddedserver.jetty.EmbeddedJettyServer लॉगिंग - == स्पार्क ने आग लग गई है ... [थ्रेड -0] INFO spark.embeddedserver.jetty.EmbeddedJettyServer - >> 0.0.0.0:8080 [थ्रेड -0] INFO org.eclipse.jetty.server.Server - jetty-9.3 पर सुनना। 6.v20151106 [थ्रेड -0] INFO org.eclipse.jetty.server.ServerConnector - सर्वर कनेक्टर @ 5aa07ed2 {HTTP/1.1, [http/1.1]} {0.0.0.0:8080} [थ्रेड -0] INFO संगठन .eclipse.jetty.server.Server - प्रारंभ @ 772ms

एक्सेस करते समय - http://localhost:8080/

मैं उत्पादन 'नमस्ते विश्व "के रूप में मुद्रित किया गया

कदम मैं पीछा किया:

1) अपने GitHub यूआरएल 2) जावा 8 3) Maven की ओर इशारा करते Maven परियोजनाओं के रूप में आयातित से अपनी परियोजना डाउनलोड किया गया इंस्टॉल सफल रहा 3) रण मुख्य श्रेणी 4) ब्राउज़र में आउटपुट देखा।

क्या मुझे वास्तविक समस्या को दोहराने के लिए कोई कदम नहीं है?

या अपने मेवेन के साथ कुछ करने के लिए है। यह देखने के लिए कि क्या अपेक्षित जार डाउनलोड किए गए हैं, मैवेन इंस्टॉल करने के बाद अपनी मेवेन निर्भरता जांचें।

शुभकामनाएं।

+0

इसे चलाने के लिए धन्यवाद। क्या आपने एक स्वतंत्र जार आर्टिफैक्ट बनाया है या इसे ग्रहण संदर्भ से चलाया है? उत्तरार्द्ध मेरे लिए भी काम करता है, लेकिन समस्या तब होती है जब वास्तविक आर्टिफैक्ट को एक स्टैंडअलोन जार में पैकेजिंग करते हैं और फिर इसे 'जावा -जर' के साथ चलाते हैं जैसे आप ऐप वितरित करते हैं। ऐसा लगता है कि निर्माण के दौरान पैकेज में जार निर्भरताओं में या तो ओवरराइटिंग या कॉपी नहीं किया जा रहा है। – SeanNieuwoudt

संबंधित मुद्दे