【发布时间】:2019-08-19 14:49:36
【问题描述】:
我已经在我的程序中建立了一个数据库连接,但是在创建一个 jar 程序后它抛出了一个
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
看起来程序没有看到我已安装并添加到工件中的 jdbc 驱动程序:
我已尝试更改版本更改链接以在 JDBC 中查找类名,但我发现了与我之前使用过的相同的链接,该链接在 intelij 中有效,但在 jar 中无效
我正在使用一个代码进行连接
package howareyoufeeling.database;
import java.sql.*;
public class DatabaseOperations {
static Statement statement;
public static void connectWithAzureDatabase() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
String connectionUrl =
"jdbc:sqlserver://howareyoufeeling.database.windows.net:1433;" +
"database=HowAreYouFeeling;" +
"user=wikimmax@howareyoufeeling;password=********;" +
"encrypt=true;trustServerCertificate=false;" +
"hostNameInCertificate=*.database.windows.net;loginTimeout=30;";
try {
Connection connection = DriverManager.getConnection(connectionUrl);
System.out.println("Successfull DB connection " + connection.getSchema());
statement = connection.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void sendDataQuery(String query){
try {
statement.execute(query);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
看起来依赖项不在 jar 文件中,但我通过反编译和包含驱动程序的文件大小匹配来检查它
请帮忙
【问题讨论】:
-
你是使用 Gradle 还是 Maven 来管理依赖关系?
-
我正在使用 maven
-
你能发布你的 pom.xml 吗?
标签: java sql-server jdbc