我使用MAVEN使用Weka 3.7.13 dev版本構建了一個簡單的weka應用程序。我已初始化pom.xml
函數以從存儲庫中獲取weka庫。Weka查找數據庫Util屬性但未找到投擲驅動程序
我想使用weka運行一個簡單的聚類算法,並將其連接到MySQL數據庫。根據文檔,weka需要有一個包含它的jdbc驅動程序的DatabaseUtil.props
文件。我已經設置好了。
這是我的項目結構:
我可以用我下面的代碼檢索的DatabaseUtils.props。但不知何故weka本身無法識別我已經在裏面配置的jdbc:Url and driver
名稱。
DatabaseUtil.props
文件:
# JDBC driver (comma-separated list)
jdbcDriver=com.mysql.jdbc.Driver
# database URL
jdbcURL=jdbc:mysql://127.0.0.1:3306/datamining
我觸發了Weka模塊
Java代碼:
public void dm(){
int cluster = 4;
InstanceQuery clusterQuery = null;
try{
//file reader of database utilities properties
ClassLoader classLoader = getClass().getClassLoader();
File fileProps = new File(classLoader.getResource("DatabaseUtils.props").getFile());
//setup the data preparation functionality then connect to database
clusterQuery = new InstanceQuery();
clusterQuery.setUsername("test");
clusterQuery.setPassword("test");
clusterQuery.setQuery("SELECT * FROM TEMP_KMEANS");
clusterQuery.setCustomPropsFile(fileProps);
但是,當執行函數返回錯誤:java.sql.SQLException: No suitable driver found for jdbc:idb=experiments.prp
看來,DatabaseUtils.props
文件不能覆蓋默認的驅動程序值
任何想法,爲什麼這是投擲?
任何反饋和回答非常感謝。
謝謝你對此的回答。當我使用Weka作爲maven項目來引用輔助java EE項目時,似乎我無法在不打開jar並更改其中的文件的情況下更改weka.jar中的'DatabaseUtils.props'。我嘗試在另一個資源文件夾中引用'DatabaseUtils.props'。但是在weka.jar中更改這個數據庫utils會影響項目環境本身。有任何想法嗎? – randytan
@randytan如何閱讀文檔,該文件需要位於當前目錄中的文件系統或用戶主文件夾(執行該進程的用戶),而不是任何jar的一部分(這是資源正常結束的地方) 。 –
瞭解馬克,所以我沒有任何其他選項,除了打開weka jar並直接更改屬性文件。 – randytan