我是耶拿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

最佳答案

arq-jar文件不在您的类路径中。它应该与jena一起分发,因此请尝试在lib目录中查找。

关于java - 耶拿SDB ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14539168/

10-11 21:40