- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
执行时突然抛出错误:
org.xml.sax.SAXParseExceptionpublicId:
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd; lineNumber:
1; columnNumber: 1; Deployment descriptor file META-INF/persistence.xml
in archive [classes]. Premature end of file.
curl -v http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd
* Trying 2600:1402:f000:392::f6b...
* TCP_NODELAY set
* Connected to xmlns.jcp.org (2600:1402:f000:392::f6b) port 80 (#0)
> GET /xml/ns/persistence/persistence_2_1.xsd HTTP/1.1
> Host: xmlns.jcp.org
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: AkamaiGHost
< Content-Length: 0
< Location: https://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd
< Cache-Control: max-age=0
< Expires: Sun, 23 Jun 2019 23:21:20 GMT
< Date: Sun, 23 Jun 2019 23:21:20 GMT
< Connection: keep-alive
<
* Connection #0 to host xmlns.jcp.org left intact
直到今天这才成为问题,并且该文件似乎不再可用,但它是 JPA 持久性 xml 文件的标准引用:
HTTP/1.1 301 Moved Permanently
有没有其他人突然遇到这个问题。我无法追踪到任何更改,我在本地和服务器上都遇到过这种情况。
最佳答案
问题的根源似乎在于 Oracle 和对安全性的担忧,促使最近切换到 HTTPS 协议(protocol)。
org.apache.openjpa.lib.meta 中的 XMLMetaDataParser 在 parseNewResource 方法中使用 SaxParser 读取 xml 文件,这会引发文件过早结束错误。错误文本不是特别有用。然而,求助于 XML Copy Editor [ http://xml-copy-editor.sourceforge.net]验证模式揭示了实际涉及的错误:
第 0 行第 0 列的 fatal error :URL 中不支持的协议(protocol)。这些信息最终让我看到了这篇涉及 OpenEdge 的帖子,日期为 11/6/2018: [ https://knowledgebase.progress.com/articles/Article/Unsupported-protocol-in-URL-reading-XML-from-a-URI] .
在原因下,它指出,“以前用于 HTTP 的 URL 现在正在重定向到 HTTPS。”
在解决方案下,“这是 OpenEdge 客户端在内部使用的 Apache Xerces 解析器中的一个限制。它只支持有限的 URL,因此解析器无法处理 URL 重定向或类似于网络浏览器的 HTTPS URL。”< br/>因此,错误消息中标识为“systemId”的 xml 文本的重要部分是 http 协议(protocol)语句,现在在 Oracle 的网站上重定向到 https,导致解析错误。这就解释了为什么一天运行良好的代码在第二天早上突然停止工作。应该很快就会知道有多少 ORM 实现具有此限制。
问题解决了。我换了
https://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd
与
https://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd
程序现在可以正常构建。
关于xml - org.xml.sax.SAXParseExceptionpublicId : http://xmlns. jcp.org/xml/ns/persistence/persistence_2_1.xsd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56728487/
我正在使用所有 jsf 2.2 新命名空间 但是我尝试将组件 selectOneMenu 与 selectItem 一起使用多少我收到此错误: HTTP Status 500 - Elements
我收到这个错误: java.lang.ClassCastException: org.apache.jcp.xml.dsig.internal.dom.DOMReference cannot be c
据我了解,Oracle 正在将其 Oracle JDK 迁移到每 6 个月发布一次功能版本,并每 3 年左右发布一次 Oracle JDK LTS。 Oracle JDK 在 2019 年 1 月之后
刚刚阅读 Kathy“Sierra/Bert Bates:JSCP Java6 学习指南”,发现了相互矛盾的模拟考试问题: 在其中一个自测问题中,正确答案是“代码无法编译”,因为代码中没有 impor
我有一个在 tomcat 8 上运行的 Maven webapp 项目。如果我使用旧的命名空间 http://java.sun.com/jsf/html 它工作正常,但是使用新的命名空间,在浏览器上查
我更改了标题(无法从 EAR 加载持久性单元),因为我认为问题是,我不能使用“http://xmlns.jcp.org/xml/ns/persistence”网址。相反,我必须使用“http://ja
这个问题已经有答案了: NLS missing message: CANNOT_FIND_FACELET_TAGLIB (3 个回答) 已关闭 8 年前。 我正在尝试在 jsf 中创建自定义标签,这是
我正在尝试在 Jboss 7.1.1.Final 上使用 JSF 2.2.2 我遵循了此链接中的解决方案 1: http://www.mastertheboss.com/jsf/installing-
我正在使用 gradle 构建我的多模块项目。在我的一个类(class)中,我有以下代码段。 private XMLSignatureFactory factory = XMLSignatureFac
我尝试将 Glassfish 4.0 与 Java EE 7 XML 命名空间结合使用来测试下面的示例。 Title
pom.xml文件 com.sun.faces jsf-impl 2.2.0-m08 provided com.sun.faces jsf-api
执行时突然抛出错误: org.xml.sax.SAXParseExceptionpublicId: http://xmlns.jcp.org/xml/ns/persistence/persistenc
我有这个: 我明白了: 为什么是 xmlns:f="http://xmlns.jcp.org/jsf/core"标签未呈现? 我在 Netbeans 7.3 上使用 J
我正在阅读来自 http://docs.oracle.com/javaee/7/tutorial/doc/jsf-facelets005.htm#GIQZR 的 Java EE 7 教程 在我的 ID
我正在将 jsf 2.2 升级到 jsf 2.3, 使用 wildfly 11.0.0 Beta 作为服务器。 我按照本网站上的说明进行操作。 http://arjan-tijms.omnifaces
我正在使用 jersey 部署一个 Restful Web 服务。我正在阅读本教程并执行说明: http://www.oracle.com/webfolder/technetwork/tutorial
我是一名优秀的程序员,十分优秀!