使用不正确的 url 验证 jdoconfig
Posted
技术标签:
【中文标题】使用不正确的 url 验证 jdoconfig【英文标题】:Validating jdoconfig with incorrect url 【发布时间】:2011-08-27 21:37:10 【问题描述】:我正在使用 jdo 并使用 jdoconfig.xml 配置持久性管理器
但是,无论我在哪里找到有关 jdoconfig.xml 的文档,它都指出应该使用 http://java.sun.com/xml/ns/jdo/jdoconfig 进行验证。
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
etc
这个 url 指向一个不存在的文件,我的 xml 验证器报告了一个错误。 甚至使用它的目的是什么,我们是否可以相信 url 不会改变并且我们所有的 xml 文件突然停止验证?
有人知道新网址吗?
【问题讨论】:
【参考方案1】:xmlns 不是一个真正的文件/目录,更多的是一个命名空间,所以不应该存在!追加版本获取真正的XSD文件,即http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd
也许
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd">
【讨论】:
所以 xsi:noNamespaceSchemaLocation 应该指向java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd ? xmlns= 后面有两个引号。即使我删除了其中一个,Eclipse 仍然报告错误。是因为 java.sun.com 现在是 www.oracle.com 吗?我们可以在 META_INF 中包含 jdoconfig_3_0.xsd 并完成它,尽管我不知道我们可以从哪里得到它?【参考方案2】:只需替换
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
与
xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd"
【讨论】:
这正是上面的答案所说的:)【参考方案3】:更改 jdoconfigile 以在下面使用对我有用。
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdo
【讨论】:
【参考方案4】:在 eclipse 构建路径中指向 eclipse 插件 jars,当我清理(删除插件路径)我的构建路径时,我突然遇到了这个问题,所以我改变了 xmlns 路径,如下所示。
<?xml version="1.0" encoding="UTF-8" ?>
<jdoconfig xmlns="http://xmlns.jcp.org/xml/ns/jdo/jdoconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/jdo/jdoconfig">
【讨论】:
以上是关于使用不正确的 url 验证 jdoconfig的主要内容,如果未能解决你的问题,请参考以下文章