【问题标题】:UnsatisfiedLinkError: no sqljdbc_auth in java.library.pathUnsatisfiedLinkError:java.library.path 中没有 sqljdbc_auth
【发布时间】:2019-07-09 13:23:29
【问题描述】:

我正在使用 Maven 安装使用 SQLServer 的 Spring Boot 项目,但测试阶段失败:“SQLServerException: 此驱动程序未配置为集成身份验证”,由“UnsatisfiedLinkError: no sqljdbc_auth in java.library.path”引起。它仅在使用 Maven 时发生,而不是在 eclipse 中编译项目时发生。 我使用 maven-surefire-plugin。

我复制了 sqljdbc_auth windows\sysWOW64 和 Java\jre1.8.0_211\bin 和其他一些库,但这似乎不是解决方案。

【问题讨论】:

  • 尝试根据stackoverflow.com/questions/17277001/dll-missing-in-jdbc将该文件复制到Java\jdkversion\bin
  • 好的,现在可以了!解决方案是在 maven-surefire-plugin 中添加此配置行:org.apache.maven.plugins maven-surefire-plugin-Djava.library.path="C:\Program Files\Microsoft JDBC Driver 7.0 for SQL Server\sqljdbc_7.0\enu\auth\x64"
  • 那个是找到sqljdbc_auth的目录!
  • 谢谢@袁清飞!!

标签: java sql-server maven


【解决方案1】:

您似乎没有将type-4 JDBC 用于需要平台相关库加载的SQLServer。我建议你切换到type-4 SQLSERVER driver,这样你只需要依赖驱动jar。应该是很好的解决方案。

【讨论】:

  • 我正在使用 JDBC for SQLServer,它可以工作,但不适用于 Maven 中的测试。
  • 如何为测试配置 JDBC?
  • 这包含在我的 application.properites 中:spring.datasource.url=jdbc:sqlserver://localhost;database=CouponsSystemDB;integratedSecurity=true; spring.datasource.driver-class=com.microsoft.sqlserver.jdbc.SQLServerDriver #spring.datasource.username=root #spring.datasource.password= #spring.jpa.properties.* spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.SQLServerDialect #spring.jpa.hibernate.* spring.jpa.hibernate.ddl-auto=update
猜你喜欢
  • 2015-11-21
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-17
  • 1970-01-01
相关资源
最近更新 更多