如何使用位于JAR文件中的MyBatis DTD?

时间:2015-11-11 22:23:13

标签: java xml mybatis dtd

我们今天有一个最近的问题,我们的许多应用程序在停电后无法重启。事实证明,我们的环境存在问题,来自服务器的HTTP请求无法路由到互联网。

无论什么原因,立即解决问题。但它突出了一个"缺陷"在我们的应用程序中使用MyBatis,以及Spring和其他利用XML配置的库。也就是说,DTD位于我们无法控制的服务器上......而且,如果它们无法访问:死应用程序。

我们发现DTD位于实际的MyBatis JAR文件中......但是,我们如何更改XML文件以引用那些嵌入的DTD文件;删除系统依赖外部服务器的可用性?

改变这一点,到底是什么? <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

我发现我们可以将DTD复制到与XML相同的文件夹中并使其正常工作。但是,对于这些文件所在的数百个地方而言,这将非常耗时。另一个想法是我们只是将它们托管在我们自己的内部服务器上,但是,如果它们发生故障,我们就会陷入困境。

我要列出的内容是将DTD位于软件包MyBatis JAR文件中的DOCTYPE引用的URL。有可能吗?

1 个答案:

答案 0 :(得分:0)

尝试在顶部使用这个:

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "org/apache/ibatis/builder/xml/mybatis-3-mapper.dtd">