我有一個基於Maven的Java應用程序,並且想要連接到MySQL服務器。Maven - java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
我POM具有:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
<type>jar</type>
<scope>runtime</scope>
</dependency>
隨着運行,因爲我想在運行時連接到MySQL服務器 - 也試圖編譯和提供的,但不起作用。
的SQL代碼是標準:
String dbClass = "com.mysql.jdbc.Driver";
Class.forName(dbClass);
Connection connection = DriverManager.getConnection(dbUrl,
username, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String tableName = resultSet.getString(1);
System.out.println("Table name : " + tableName);
}
當我運行這個從Eclipse的,它工作正常,並打印表名。
但是,從maven中,生成的SNAPSHOT在運行mvn clean install
之後通過>java -jar target\File.jar
執行時總會產生錯誤。
拋出java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
缺少什麼我在這裏得到了Maven構建工作?正在運行mvn clean install
不會出現錯誤,並且可以正常運行。只有在執行SNAPSHOT exe文件時纔會發生錯誤。
MySQL jar在我的.m2倉庫中,我嘗試通過mvn命令行顯式添加它,但是表示它已經存在。
是類路徑上的m2回購?您的IDE通常會在您從其啓動時添加它,但是如果從命令行啓動,則可能必須手動指定它。 – 2015-03-25 00:12:16