Jena SDB ClassNotFoundException

时间:2013-01-26 16:52:11

标签: java jena

我是Jena SDB的新人。我在类路径中包含了SDB-1.2.3.jar,数据库在线并使用此连接字符串。但程序在第一行崩溃了。请帮助我,并在SDB-Jena上给我一些有用的教程链接。我已经在他们的官方网站上试过了。 我的代码来自网站“http://jena.apache.org/documentation/sdb/javaapi.html”

StoreDesc storeDesc = new StoreDesc(LayoutType.LayoutTripleNodesHash,
                                       DatabaseType.MySQL ) ;
   JDBC.loadDriverMySQL();
   String jdbcURL = "jdbc:mysql:localhost:3306/test?username=root&password=1&database=test";
   SDBConnection conn = new SDBConnection(jdbcURL, null, null) ;
   Store store = SDBFactory.connectStore(conn, storeDesc) ;

但编译器给我以下异常

Exception in thread "main" java.lang.NoClassDefFoundError: com/hp/hpl/jena/sparql/ARQException
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at jenasdb.JenaSDB.main(JenaSDB.java:45)
Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.sparql.ARQException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 13 more
Java Result: 1

1 个答案:

答案 0 :(得分:2)

arq-jar文件不在您的类路径中。它应该与jena一起发布,所以请尝试查看lib目录。