在 grails 应用程序中使用 mssql 的 microsoft jdbc 驱动程序的官方方法是什么?
我通过谷歌搜索发现的一般意见是,我只需要将 jar 放在 grails 应用程序的 lib 目录中。如果我执行 grails clean 并 grails compile --refresh-dependencies,这将有效。但是当我在真实服务器上部署时,我遇到了两个问题。
重新部署时,日志中会出现此警告。
24.05.2013 16:03:03 com.microsoft.sqlserver.jdbc.AuthenticationJNI 警告:无法加载 sqljdbc_auth.dll 原因:java.library.path 中没有 sqljdbc_auth
我不确定它是否需要关心,因为它是一个警告。但是我想让我的日志清理干净,就像谷歌所说的那样,我在应用程序的 lib 目录中有 dll。此外,在重新部署时,有几条类似这样的消息可能与第一个消息有关:
24.05.2013 16:03:02 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SCHWERWIEGEND:Web 应用程序创建了一个 ThreadLocal,其键类型为 [org.codehaus.groovy.runtime.GroovyCategorySupport.MyThreadLocal](值 [org.codehaus. groovy.runtime.GroovyCategorySupport$MyThreadLocal@76fe8d1b]) 和 [null] 类型的值(值 [null]),但在 Web 应用程序停止时未能将其删除。为防止内存泄漏,已强制删除 ThreadLocal。
最后一件事是我的同事说,她认为驱动程序不应该安装在每个应用程序的基础上,而是直接安装到 tomcat 中。我实际上不知道该怎么做,但是如果我这样做了,这会在开发机器上引起问题,因为我不知道如何让 grails run-app 在应用程序 lib 目录中没有驱动程序的情况下运行。