为 SQLServer 设置 maven 依赖项

我正在开发一个 portlet,在这个 portlet 中我可以访问 SQLServer 数据库。我为它设置了 Maven 依赖关系,并试图找出 SQLServer 连接器,方法与我知道 MySql 拥有它的方法相同。

如果我搜索 SQLServer 连接器,我的 Google 搜索仍然只提供 Mysql。正确的 专家依赖值是多少?

167066 次浏览

我相信你正在寻找 Microsoft SQL Server JDBC 驱动程序: http://msdn.microsoft.com/en-us/sqlserver/aa937724

从 Olaf 和 将其添加到本地 Maven 存储库提供的链接下载驱动程序 JAR;

mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 -Dpackaging=jar

然后将其添加到您的项目中;

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>

即使在安装了 sqlserver jar 之后,我的 maven 仍然试图从 maven 存储库中获取依赖项。然后,我提供了我的 POM 我的本地机器的存储库,它运行良好之后... 可能会有帮助的人。

    <repository>
<id>local</id>
<name>local</name>
<url>file://C:/Users/mywindows/.m2/repository</url>
</repository>

还有一个替代方案: 您可以使用 MS-SQLServer 的开源 jTDS 驱动程序,这个驱动程序是兼容的,尽管不是 Microsoft 制造的。 对于这个驱动程序,有一个可以使用的专家工件:

http://jtds.sourceforge.net/

来自 http://mvnrepository.com/artifact/net.sourceforge.jtds/jtds:

<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>

更新 2016年11月,微软发布了其 MSSQL JDBC 驱动程序 在 Github 上,现在也可以在 maven 上使用:

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>

回答“新”和“酷”微软。

耶,麻省理工学院的 SQLServer 驱动程序现在开始使用

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>

Answer for the "old" Microsoft:

对于我的用例(集成测试)来说,使用 JDBC 驱动程序依赖项的系统作用域就足够了:

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>3.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sqljdbc4.jar</systemPath>
<optional>true</optional>
</dependency>

这样,我就可以将 JDBC 驱动程序放入本地版本控制中。不需要让每个开发人员手动在他们自己的存储库中设置东西。

我的灵感来自 另一个堆栈溢出问题的答案我也在这里写过博客

小心上面的答案。Jar 没有在公共许可下发布,这就是为什么在运行时和发布时很难将它包含在 jar 中的原因。更多细节和更好的解决方案见下面我的答案。一旦我找到了答案,你的生活会变得和我一样轻松。

Https://stackoverflow.com/a/30111956/3368958

It looks like Microsoft has published some their drivers to maven central:

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>
<dependency>
<groupId>com.hynnet</groupId>
<artifactId>sqljdbc4-chs</artifactId>
<version>4.0.2206.100</version>
</dependency>

这对我很有用(如果你使用 maven 的话)

Https://search.maven.org/artifact/com.hynnet/sqljdbc4-chs/4.0.2206.100/jar