本地Maven库添加SQLServer2012 sqljdbc4.jar

最近又开始搞Java项目了,学习下maven用法(ant时代真的过去了啊?)

选了个国内的小框架来做,有个小需求,客户需要用牛逼哄哄的SQLServer,新版的比如SQLServer2012的sqljdbc4.jar在一般的maven库中木有包含,而框架中只有SQLServer2005的版本,不支持手上的新版SQLServer(错误如下)。

[com.alibaba.druid.pool.DruidDataSource]create connection error
com.microsoft.sqlserver.jdbc.SQLServerException: The server version is not supported. The target server must be SQL Server 2000 or later.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.DBComms.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.DBComms.<init>(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:142)
at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:211)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:136)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1271)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1325)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:1215)

懒得下老版,也懒得每次手动替换jar,于是正好学习下maven。

参考:http://claude.betancourt.us/add-microsoft-sql-jdbc-driver-to-maven/

  1. 下载sqljdbc4.jar http://msdn.microsoft.com/en-us/sqlserver/aa937724
  2. 安装jar到本地maven库
    mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0maven-sqljdbc4
  3. 然后再pom.xml中加入
    <dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc4</artifactId>
    <version>4.0</version>
    </dependency>
  4. 重新mvn clean package齐活。

标签

发表评论

Comment List(2)

  • 麦加C

    2014.9.1 08:09

    应用层技术发展得还是挺快的。与时俱进吧。还有客户为啥非要用sqlserver呢。虽然最近的几个版本确实不错

    • arcko

      2014.9.1 08:09

      他们用过惯了,另外考虑跟现有系统比较容易结合。