2015-09-24 39 views
2

使用下面的命令,在本教程給出: http://s3.thinkaurelius.com/docs/titan/0.5.0/hbase.html如何在java eclipse中配置titan over hbase?

TitanGraph graph = TitanFactory.build() 
       .set("storage.backend","hbase") 
       .open(); 

使用maven的依賴性:

<dependency> 
      <groupId>com.thinkaurelius.titan</groupId> 
      <artifactId>titan-hbase</artifactId> 
      <version>${titan.version}</version> 
     </dependency> 

以下錯誤顯示

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/MasterNotRunningException 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:42) 
    at com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass(Backend.java:479) 
    at com.thinkaurelius.titan.diskstorage.Backend.getStorageManager(Backend.java:413) 
    at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.<init>(GraphDatabaseConfiguration.java:1320) 
    at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:94) 
    at com.thinkaurelius.titan.core.TitanFactory$Builder.open(TitanFactory.java:135) 
    at pluradj.titan.tinkerpop3.example.JavaExample2.main(JavaExample2.java:26) 
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.MasterNotRunningException 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 9 more 

如果可能的話,你可以告訴卡桑德拉也一樣。

+0

看起來像你缺少這種依賴性,所以你必須告訴你如何啓動你的應用程序/代碼。你使用maven嗎? – hoijui

+0

使用的依賴 \t com.thinkaurelius.titan \t 泰坦HBase的 \t 0.5.4 user3646858

回答

0

看吧如何設置運行時類路徑在Eclipse:How do I set the runtime classpath in Eclipse 4.2?

看起來運行時類路徑丟失,由於異常NoClassDefFoundError的罐子。對於這個特定的錯誤,從你的hbase安裝找到hbase lib目錄,並將它添加到你的類路徑中。

如果您使用Cassandra,則需要爲Cassandra適當地設置類路徑。

Titan的HBase客戶端配置接受來自hbase-site.xml的任意密鑰 (如果它在CLASSPATH上),我建議將它放在你的路徑中。

+0

仍無法得到它 – user3646858