0
這裏是我的代碼當我使用MySQL數據庫系統的Jena2,我得到java.lang.NoSuchMethodError
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import com.hp.hpl.jena.db.DBConnection;
import com.hp.hpl.jena.db.IDBConnection;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.ModelMaker;
public class myontoly {
public static final String MYSQL_DB_CLASSNAME = "com.mysql.jdbc.Driver";
public static final String MYSQL_DB_URL =
"jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF8";
public static final String MYSQL_DB_USER = "root";
public static final String MYSQL_DB_PASSWD = "mysql2011510";
public static final String DB = "MySQL";
public static void main(String[] args) {
// loading the JDBC driver
try {
Class.forName(MYSQL_DB_CLASSNAME).newInstance();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Create database connection
IDBConnection conn = new DBConnection(MYSQL_DB_URL, MYSQL_DB_USER, MYSQL_DB_PASSWD, DB);
//Use the connection to create a model maker
ModelMaker maker = ModelFactory.createModelRDBMaker(conn);
Model base = maker.createDefaultModel();
FileInputStream inputStreamfile = null;
File file = new File("file:./Taxonomy.owl");
try {
inputStreamfile = new FileInputStream(file);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
InputStreamReader in = null;
try {
in =new InputStreamReader(inputStreamfile, "UTF-8");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
base.read(in, null);
try {
in.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
base.commit();
//Close the database connection
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
錯誤信息,,我試圖耶拿2.4,2.6.4 異常線程「main 「java.lang.NoSuchMethodError:com.hp.hpl.jena.rdf.model.ModelFactory.createModelRDBMaker(Lcom/hp/hpl/jena/db/IDBConnection;)Lcom/hp/hpl/jena/rdf/model/ModelMaker; at com.webservicecom.mysql.myontoly.main(myontoly.java:71))
我曾嘗試lateen版本jena2.10,但我找不到jana.jar包。 – jack 2013-04-24 01:15:25
當我導入jena 2.10的lib文件夾的jar文件時,它顯示錯誤,因爲它沒有識別DBConnection.please測試代碼,並告訴我如何修復它 – jack 2013-04-24 01:20:17
舊的RDB數據庫層被棄用和刪除前一段時間。有兩個持久層:SDB(通過SQL數據庫)和TDB(自定義本地數據庫)。 TDB更快,規模更好。 – AndyS 2013-04-25 09:01:55