2013-10-01 156 views
0

任何機構可以建議我,我SHLD這罐子用來解決以下異常,

Exception in thread "main" java.lang.NoSuchMethodError: org.neo4j.graphdb.factory.GraphDatabaseSetting$BooleanSetting.<init>(Ljava/lang/String;)V 
    at org.neo4j.shell.ShellSettings.<clinit>(ShellSettings.java:37) 
    at sun.misc.Unsafe.ensureClassInitialized(Native Method) 
    at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source) 
    at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source) 
    at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source) 
    at java.lang.reflect.Field.getFieldAccessor(Unknown Source) 
    at java.lang.reflect.Field.get(Unknown Source) 
    at org.neo4j.kernel.configuration.AnnotatedFieldHarvester.findStatic(AnnotatedFieldHarvester.java:47) 
    at org.neo4j.kernel.configuration.AnnotationBasedConfigurationMigrator.<init>(AnnotationBasedConfigurationMigrator.java:40) 
    at org.neo4j.kernel.configuration.Config.<init>(Config.java:89) 
    at org.neo4j.kernel.InternalAbstractGraphDatabase.<init>(InternalAbstractGraphDatabase.java:218) 
    at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:103) 
    at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:88) 
    at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:207) 
    at org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(GraphDatabaseFactory.java:69) 
    at com.Neo4J.src.EmbeddedNeo4j.createDb(EmbeddedNeo4j.java:48) 
    at com.Neo4J.src.EmbeddedNeo4j.main(EmbeddedNeo4j.java:38). 

我已經包含了下面的jar,

neo4j-kernel-1.9.3.jar。 謝謝。

+0

http://stackoverflow.com/questions/35186/how-doi-i-fix-a-nosuchmethoderror – Aneesh

+0

不要編輯現有的問題來改變你所問的內容。正如最初所問,這個問題已經得到解答。如果問題仍然存在,請嘗試自己解決,如果您仍需要幫助,請發佈其他問題。根據問題添加問題之間的鏈接。但不要通過編輯問題將正確的答案變成不完整或者不正確的答案。我認爲這很粗魯! – MvG

+0

嘿,對不起,我的意思是,我能夠解決下一個prblm,所以我編輯了smae..th8節省時間,因爲我能解決同樣的問題.. – Sujana

回答

2

確保你有匹配的neo4j-shell jar文件。

命令javap -v -classpath neo4j-shell-1.9.3.jar org.neo4j.shell.ShellSettings | grep invoke向我表明只有五種方法被ShellSettings調用。一個是Object默認構造函數,但是這是在構造函數ShellSettings期間,而不是靜態類初始化<clinit>。其他人都來自課org.neo4j.helpers.Settingssetting被稱爲四次,分別在兩個不同的重載版本中,分別爲matchesillegalValueMessage

所以在neo4j的1.9.3版本中,不會發生堆棧跟蹤中提到的構造函數GraphDatabaseSetting$BooleanSetting的調用。因此您的ShellSettings類必須來自與1.9.3不兼容的其他版本。使用兼容的版本,你應該沒問題。

+0

嗨MvG,感謝您的回覆,是的,我錯誤地包含了兩個版本,1.9.3和1.8。刪除之後就解決了。 – Sujana

+0

@sujana:如果您[接受](http://meta.stackexchange.com/q/5234/188688)對您的問題最有用的答案,通常會很感激。 – MvG