我是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
答案 0 :(得分:2)
arq-jar文件不在您的类路径中。它应该与jena一起发布,所以请尝试查看lib目录。