java - 将 mybatis 属性文件移动到 tomcat 中的自定义位置

标签 java tomcat jdbc mybatis

我有一个Web应用程序,需要mybatis连接到sql服务器。

我有一个单独的属性文件 jdbc.properties,其中包含 dburl、用户名、密码等,并且 mybatis-config.xml 文件具有以下内容来读取该文件

    <properties resource="jdbc.properties"/>

如果我将 jdbc.properties 文件添加到 src 文件夹,它就可以正常工作。

但是我在“catalina_home/bin/config”文件夹中还有其他几个属性文件,因此我想将 jdbc.properties 文件也移动到该位置。

但是无论我如何更改资源路径,mybatis 都无法从中读取属性文件。

但是,如果我将 jdbc.properties 文件移动到“catalina_home/lib”文件夹,它就可以工作。因此,我尝试了像这样的资源路径“../bin/config”,但它也不起作用。

我的问题是,我可以将 jdbc.properties 文件移至 bin/config 文件夹并让 mybatis 从那里读取它吗?

编辑:由于我的生产环境可能会更改其 CATALINA_HOME 位置,因此我无法提供配置文件位置的完整路径。

最佳答案

mybatis 找不到这些属性文件的原因是 tomcat 的 bin/config 文件夹不在 tomcat(或您的 Web 应用程序)的类路径中,与 $CATALINA_HOME/lib 不同。 mybatis 在类路径中查找 resource 属性中指定的文件。 如果您使用 url 属性,您可以指定文件的完整路径名。

<properties url="/full/path/to/you/jdbc.properties"/>

关于java - 将 mybatis 属性文件移动到 tomcat 中的自定义位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31946420/

相关文章:

java - JBoss 3.2.2 和 JDBC 升级

java - menuitem.getmenuinfo() 为动态创建的 View 返回 null

java - 使用Google语音视频聊天插件录制语音

java - do-while循环不注意java中的while

java - 在运行时从后端 java 类连接到 Web-Socket-Server

java - tomcat运行shell脚本并将进程返回给系统

java.lang.UnsatisfiedLinkError : Native Library sqljdbc_auth. dll 已经加载到另一个类加载器中

tomcat - Tomcat 部署 Grails 应用程序时出错

java - 事务回滚异常

java - JDBC 分析工具