2013-04-28 41 views
0

我試圖按照本教程http://docs.neo4j.org/chunked/milestone/server-plugins.html「的NoClassDefFoundError」在行家

我創建了一個Maven項目(以下本教程http://blog.neo4j.org/2012/03/how-to-set-up-maven-project-with-neo4j.html)的日食,並從Maven倉庫添加必要的依賴,以創建一個服務器插件,我在pom.xml和maven依賴列表中看到了實際的內容,然後我使用目標「clean install」創建了我的jar,並將它添加到neo4j插件中。

後者插件已正確添加,我可以檢查感謝:

curl -v http://localhost:7474/db/data/ 

但令人奇怪的是,我得到下面當我嘗試從shell中運行它的錯誤:

我相信當jar被創建時我真的添加了依賴項(我使用:mvn dependency:tree -Dverbose和檢查了包含此類的包「org.lucene.lucene-spellchecker」)

任何幫助將非常感激。

謝謝


依賴關係樹:

[INFO] org.neo4j.server.plugin.custom:neo4j-didYouMean-plugin:jar:1.9.M05 
[INFO] +- junit:junit:jar:3.8.1:test 
[INFO] +- org.neo4j:neo4j:jar:1.9.M05:compile 
[INFO] | +- org.neo4j:neo4j-kernel:jar:1.9.M05:compile 
[INFO] | | \- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile 
[INFO] | +- org.neo4j:neo4j-lucene-index:jar:1.9.M05:compile 
[INFO] | | +- (org.neo4j:neo4j-kernel:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | | \- (org.apache.lucene:lucene-core:jar:3.5.0:compile - omitted for  duplicate) 
[INFO] | +- org.neo4j:neo4j-graph-algo:jar:1.9.M05:compile 
[INFO] | | \- (org.neo4j:neo4j-kernel:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | +- org.neo4j:neo4j-udc:jar:1.9.M05:compile 
[INFO] | | \- (org.neo4j:neo4j-kernel:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | +- org.neo4j:neo4j-graph-matching:jar:1.9.M05:compile 
[INFO] | | \- (org.neo4j:neo4j-kernel:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | +- org.neo4j:neo4j-cypher:jar:1.9.M05:compile 
[INFO] | | +- org.scala-lang:scala-library:jar:2.10.0:compile 
[INFO] | | +- (org.neo4j:neo4j-lucene-index:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | | +- (org.neo4j:neo4j-graph-matching:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | | +- (org.neo4j:neo4j-kernel:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | | +- (org.neo4j:neo4j-graph-algo:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | | \- com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap- lru:jar:1.3.1:compile 
[INFO] | \- org.neo4j:neo4j-jmx:jar:1.9.M05:compile 
[INFO] +- org.neo4j:server-api:jar:1.9.M05:compile 
[INFO] | +- (org.neo4j:neo4j-kernel:jar:1.9.M05:compile - omitted for duplicate) 
[INFO] | +- org.neo4j.3rdparty.javax.ws.rs:jsr311-api:jar:1.1.2.r612:compile 
[INFO] | +- commons-configuration:commons-configuration:jar:1.6:compile 
[INFO] | | +- commons-collections:commons-collections:jar:3.2.1:compile 
[INFO] | | +- commons-lang:commons-lang:jar:2.4:compile 
[INFO] | | +- commons-logging:commons-logging:jar:1.1.1:compile 
[INFO] | | \- commons-beanutils:commons-beanutils-core:jar:1.8.0:compile 
[INFO] | |  \- (commons-logging:commons-logging:jar:1.1.1:compile - omitted for duplicate) 
[INFO] | \- commons-digester:commons-digester:jar:1.8.1:compile 
[INFO] |  +- commons-beanutils:commons-beanutils:jar:1.8.0:compile 
[INFO] |  | \- (commons-logging:commons-logging:jar:1.1.1:compile - omitted for duplicate) 
[INFO] |  \- (commons-logging:commons-logging:jar:1.1.1:compile - omitted for duplicate) 
[INFO] \- org.apache.lucene:lucene-spellchecker:jar:3.5.0:compile 
[INFO] +- org.apache.lucene:lucene-core:jar:3.5.0:compile 
[INFO] \- org.apache.lucene:lucene-analyzers:jar:3.5.0:compile 
[INFO]  \- (org.apache.lucene:lucene-core:jar:3.5.0:compile - omitted for duplicate) 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 

錯誤:

curl -X POST http://localhost:7474/db/data/ext/DidYouMeanPlugin/graphdb/didYouMean -H "Content-Type:application/json" -d '{"query":"san francisco", "searchType":"airports" , "max":10}' 

{ 
    "message" : "org/apache/lucene/search/spell/LevensteinDistance", 
    "exception" : "NoClassDefFoundError", 
    "fullname" : "java.lang.NoClassDefFoundError", 
    "stacktrace" : [  
      "org.neo4j.server.plugin.didYouMean.DidYouMeanPlugin.didYouMean(DidYouMeanPlugin.java:39)", "java.lang.reflect.Method.invoke(Method.java:601)", "org.neo4j.server.plugins.PluginMethod.invoke(PluginMethod.java:57)", "org.neo4j.server.plugins.PluginManager.invoke(PluginManager.java:168)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:300)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:122)", "java.lang.reflect.Method.invoke(Method.java:601)" ] 

回答

1

CCAN你如果Lucene的類檢查jar文件與jar tf file真的在那裏?

您是否使用mvn assembly創建它?

你還可以做的是使用mvn dependency:copy-dependencies並將這些額外的jar文件複製到服務器安裝的plugins文件夾中。

+0

非常感謝Michael! 我用乾淨的安裝程序集:單個目標,它的工作 – Anas 2013-04-29 11:28:58