无法读取外部 DTD 'mybatis-generator-config_1_0.dtd', 因为 accessExternalDTD 属性设置的限制导致不允许 'http' 访问。
时间: 2024-12-15 21:21:30 浏览: 5
mybatis-generator-config_1_0.dtd
当你遇到 "无法读取外部 DTD 'mybatis-generator-config_1_0.dtd'" 这样的错误时,它通常发生在试图通过 MyBatis Generator 工具(MBG)从远程 URL 加载 XML 配置文件(DTD),而 MBG 的配置默认禁止了对 `http` 协议的外部 DTD 引入。`accessExternalDTD` 属性控制了 MBG 是否允许访问外部文档类型定义。
解决这个问题,你可以按照以下步骤操作:
1. **修改配置**:打开 `mybatis-generator-core.xml` 或者 `mybatis-generator-maven-plugin.xml`(如果是在 Maven 项目中)这样的配置文件,找到 `accessExternalDTD` 属性并将其值改为 `true`,允许外部 DTD 的访问:
```xml
<generatorConfiguration>
...
<property name="accessExternalDTD" value="true"/>
...
</generatorConfiguration>
```
2. **本地引入**:如果可以,将 `mybatis-generator-config_1_0.dtd` 文件下载到本地,并指定为相对路径,比如放置在项目的 `src/main/resources` 目录下,然后引用本地文件。
3. **使用相对URI**:如果不是为了跨域使用,可以直接在 `<databaseType>` 标签内部指定本地 DTD 的相对路径,如 `<!DOCTYPE configuration SYSTEM "mybatis-generator-config_1_0.dtd">`。
4. **检查网络策略**:确认你的环境防火墙或者代理服务器没有阻止对该 DTD 的访问。如果是企业内网,可能需要配置特定的网络规则才能访问外部资源。
阅读全文