SpringBoot 项目,当使用 generator 插件生成代码时,发现报错:
[ERROR] XML Parser Error on line 16: 对实体 “T” 的引用必须以 ‘;’ 分隔符结尾。
项目中的 generator.xml 数据库 jdbcConnection 配置如下所示:
13 <jdbcConnection driverClass="com.mysql.jdbc.Driver"
14 connectionURL="jdbc:mysql://localhost:3306/testonldb"
15 userId="root"
16 password="test&T">
17 </jdbcConnection>
完整的 generator.xml 配置文件见另一篇博客:https://blog.csdn.net/piaoranyuji/article/details/104063149
错误原因分析:
在 xml 文件中,"&" 符号是作为实体存在的,此处需改为 “&” 符号的实体字符。
在 HTML 中的预留字符也必须被替换为字符实体(character entities)。例如,在 HTML 中,如需显示小于号,我们必须这样写:< (实体名称)或 <(实体编号)。
解决方法:
只需将 generator.xml 配置文件中的特殊符号"&",替换为它的实体名称 “&” 即可。
修改后的配置文件如下所示:
13 <jdbcConnection driverClass="com.mysql.jdbc.Driver"
14 connectionURL="jdbc:mysql://localhost:3306/testonldb"
15 userId="root"
16 password="test&T">
17 </jdbcConnection>
提示:
使用实体名称而不是实体编号的好处是,名称易于记忆。不过坏处是,浏览器或其他插件也许并不支持所有实体名称,对实体数字的支持却很好。
实体名称对大小写敏感!
常见的字符实体参考:https://www.w3school.com.cn/html/html_entities.asp。
完整的字符实体参考:https://www.w3school.com.cn/tags/html_ref_entities.html。