设置SQL Server的Maven依赖关系
我正在开发一个portlet,让Hibernate能够访问SQL Server数据库。 我为它设置了Maven依赖关系 ,并试图findSQL Server连接器,就像我知道MySql拥有它一样。
如果我searchSQL Server连接器,我的Googlesearch仍然只提供Mysql。 什么是正确的maven依赖项值?
从Olaf提供的链接下载驱动程序JAR, 并将其添加到本地Maven存储库 ;
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>
回答“新”和“酷”微软。
是的,现在在MIT许可证下的SQL Server驱动程序
- GitHub: https : //github.com/Microsoft/mssql-jdbc
- Maven Central: http : //search.maven.org/#search%7Cga%7C1%7Cmssql-jdbc
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>6.1.0.jre8</version> </dependency>
回答“老”微软:
对于我的用例(集成testing),使用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驱动程序放入本地版本控制。 没有必要让每个开发人员手动设置自己的仓库中的东西。
我从这个答案从另一个堆栈溢出问题的灵感, 我也在这里博客 。
还有一个select:你可以使用MS-SQL Server的开源jTDS驱动程序,虽然不是由微软公司生产的,但它兼容。 对于那个驱动程序,你可以使用一个maven工件:
从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月,微软现在在github上发布了它的MSSQL JDBC驱动程序,现在也可以在maven上find它:
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>6.1.0.jre8</version> </dependency>
我相信你正在寻找Microsoft SQL Server JDBC驱动程序: http : //msdn.microsoft.com/en-us/sqlserver/aa937724
注意上面的答案。 sqljdbc4.jar没有在公共许可证下分发,这就是为什么很难将它包含在运行时和分发的jar文件中。 看到我的答案更多的细节和更好的解决scheme。 一旦我find答案,你的生活将变得更加容易。
即使在安装sqlserver jar之后,我的maven也试图从maven仓库获取依赖关系。 然后,我提供了我的本地存储库,我的本地机器,它工作正常后… …可能是对某人的帮助。
<repository> <id>local</id> <name>local</name> <url>file://C:/Users/mywindows/.m2/repository</url> </repository>
它看起来像微软公布了一些他们的驱动程序,以maven中央:
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>6.1.0.jre8</version> </dependency>
- 如何使用JPA和Hibernate在UTC时区存储date/时间和时间戳
- 什么是hibernate中的分离,持久和临时对象?
- 注解@Id和@GeneratedValue(strategy = GenerationType.IDENTITY)有什么用? 为什么生成types是身份?
- Hibernate表类是否需要Serializable?
- 努力去理解EntityManager的正确使用
- 注释过滤@OneToMany关联的结果
- 冬眠4和约达时间
- PersistenceContext EntityManager注入NullPointerException
- 将Hibernate Query.list()转换为List <Type>的“正确”方法是什么?