java.net.UnknownHostException: mybatis.org
问题描述
远程部署项目,堡垒机跳到没有网络的机器部署项目。
同样的包现场报异常信息,并且指向mybatis-config.xml 文件
java.net.UnknownHostException: mybatis.org
...
搜索后,原来是mybatis的配置文件头部引用的命名空间地址导致的,因为引入了mybatis的dtd文档模板
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
mybatis在初始化的时候都回去通过这个文件去校验xml。
因为部署机没有网络,没有缓存这个dtd文件。
文件下载地址就是 http://mybatis.org/dtd/mybatis-3-config.dtd
解决方法
- 在项目外添加mybatis-3-config.dtd;
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "D:/mybatis-3-config.dtd">
- 在项目内添加mybatis-3-config.dtd(推荐使用);
将mybatis-3-config.dtd放项目src下(自己也可以定路径)
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "/mybatis-3-config.dtd">
- 修改mybatis.jar包