我有一个基于Maven的Java应用程序,想要连接到MySQL服务器。
我的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,并通过
java -jar target\File.jar
命令运行后,总是会出现错误:我该如何让maven编译成功?我运行java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
mvn clean install
没有错误并且构建也成功了,只有在执行SNAPSHOT文件时才会出错。MySQL的Jar包已经在我的 .m2库中,我尝试通过mvn命令行将其显式添加,但提示它已经存在。