【问题标题】:Installing MS SQL driver into Eclipse Maven [duplicate]将 MS SQL 驱动程序安装到 Eclipse Maven [重复]
【发布时间】:2016-12-09 15:06:32
【问题描述】:

如何使用 Eclipse 的 maven 在我的项目中安装 MSSQL 驱动程序? (平方米)?并且还让它不和Vaadin冲突?当我在本地安装 MSSQL 驱动程序 following these instructions 时,在编译和运行期间,它显示“无法从 Vaadin-addons 找到原型。”

我有代码:

                Connection con = null;
                Statement stmt = null;
                ResultSet rs = null;
                try {
                     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
                    con = DriverManager.getConnection("jdbc:sqlserver://server;databaseName=dbname;user=username;password=password");
                    String sql = "Select * from Table1";
                    stmt = con.createStatement( );
                    rs = stmt.executeQuery(sql);

                    while (rs.next()){
                        contractorsList.addBean(new Contractor(rs.getString(1), 
                                rs.getString(2), 
                                rs.getString(3), 
                                rs.getString(4), 
                                rs.getString(5), 
                                rs.getString(6))); 
                    }

                } catch (SQLException | ClassNotFoundException e) {
                    e.printStackTrace();
                }finally{
                    try { con.close();  } catch (SQLException e) {}
                    try { rs.close();   } catch (SQLException e) {}
                    try { stmt.close(); } catch (SQLException e) {}

我收到以下错误:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:450)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
    at java.lang.Class.forName0(Native Method)

这意味着它找不到我的驱动程序,我想。所以我关注this tutorial 安装MS SQL 驱动程序。 I download the driver from microsoft 然后我在这里解压:

C:\SQLDriver

在 Eclipse 中,在我的项目文件夹中,我右键单击 > Debug As > Debug Configurations >

mvn install:install-file -Dfile=C:\SQLDriver\sqljdbc_4.0\enu\sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0.2206.100 -Dpackaging=jar

然后我在我的 POM 中添加以下内容

<properties>
<!–….other versions–>
<sqlserver.version>4.0.2206.100</sqlserver.version>
</properties>
...
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>${sqlserver.version}</version>
</dependency>

我得到一个错误,它找不到我的依赖项,所以我在这里查找问题,我发现我只需将 sqljdbc4 添加到我的类路径中。

我不知道这意味着什么,但google took me here 所以我尝试按照说明进行操作。

在“系统属性”>“高级”>“环境变量”下的变量中,我添加以下内容:

我在这里搜索过,好像有人问过same question

老实说,我不知道人们将其添加到类路径中是什么意思。他们的意思是将罐子粘贴到与项目相同的文件夹中吗?不管怎样,我只是在我的项目中找到了一个 .classpath 文件并添加了这些:

如何让 maven 使用这个 microsoft sql 驱动程序?

[编辑] 转到库 > Maven 依赖项时,右键单击 > 构建路径 > 配置构建路径,我看到了这个:

当我点击时,它不允许我编辑该文件的路径。我不知道在哪里编辑它。

【问题讨论】:

    标签: java sql-server eclipse maven jdbc


    【解决方案1】:

    您需要下载所有 maven 依赖项的源代码和 java 文档。您可以通过右键单击此处讨论的 Maven 来做到这一点: https://stackoverflow.com/a/22352526/1475228

    那么只有你可以运行代码。

    也看here。这是帮助我的那个。

    【讨论】:

    • 我试着照你说的做,右键 > Maven > 更新项目。然后当我运行项目时,我仍然得到 class not found 错误。
    • @arsarc 您是否将 jar 添加到构建路径中?
    • 是的,库 > Maven 依赖项 > 构建路径 > 配置构建路径 > 添加外部 Jar 并添加了 sqljdbc4.jar 和 sqljdbc.jar。虽然有一个错误,我会用它来更新问题。
    • 我使用了它推荐的jtds。谢谢。
    猜你喜欢
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多