当前位置: 首页 > 知识库问答 >
问题:

docx4j上的jaxp_feature_not_supported异常

邓建柏
2023-03-14

我正在尝试在我的项目中使用docx4j。(我在这方面还是个新手。)

我只是尝试从这个链接运行示例代码

http://www.smartjava.org/content/create-complex-word-docx-documents-programatically-docx4j

输入是。docx文件,输出也是一个. docx文件。

这是控制台在尝试读取我的模板文件时给我的信息:

2015-09-10 09:58:43,847 [main] ERROR org.docx4j.XmlUtils  - jaxp_feature_not_supported: Feature "http://apache.org/xml/features/disallow-doctype-decl" is not supported.
javax.xml.parsers.ParserConfigurationException: jaxp_feature_not_supported: Feature "http://apache.org/xml/features/disallow-doctype-decl" is not supported.
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl.setFeature(DocumentBuilderFactoryImpl.java:207)
    at org.docx4j.XmlUtils.<clinit>(XmlUtils.java:240)
    at org.docx4j.openpackaging.contenttype.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:686)
    at org.docx4j.openpackaging.io3.Load3.get(Load3.java:132)
    at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:454)
    at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:371)
    at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:337)
    at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:302)
    at org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(WordprocessingMLPackage.java:170)
    at Experiment.getTemplate(Experiment.java:26)
    at Experiment.main(Experiment.java:112)

此处的环境列表:

Java: 1.5
Library Management: Maven
Lib: Version
docx4j: 3.2.1
jaxb-api: 2.1 (Need to add it because Java 1.5 not include this)
jaxb-impl: 2.1 (Need to add it because Java 1.5 not include this)

我想知道如何处理这个错误。

我试图自己解决这个问题,但没有结果。

谢谢你帮助我。

编辑:我是在仔细阅读changelog的时候才找到这个问题的答案的。

V.3.2.0
...
Minimum Java version is Java 6 (since guava and ambassador are compiled for that)

我想我需要回到3.1.0版本。:|(并且运行平稳。

共有1个答案

巫懿轩
2023-03-14

异常被捕获并记录:https://github.com/plutext/docx4j/blob/docx4j-3.2.1/src/main/java/org/docx4j/XmlUtils.java#L241

它不应该引起问题。之后发生了什么?

 类似资料:
  • docx4j 是一个解压的docx包(docx本身是zip包)和解析WordprocessingML格式XML的Java库 。 最新版本的 docx4j 也支持PowerPoint pptx文件。  它类似于微软的.NET的OpenXML SDK。 docx4j 严重依赖  JAXB(一个Java JCP标准的XML绑定的)。 你可以认为 docx4j 是一个JAXB的实现和扩展 * 开放打包协议

  • 我刚刚将服务器从JBoss 7.1升级到WildFly 8。在进行了大量迁移工作之后,除了docx4j之外,其他一切都正常工作。我总是会遇到以下例外情况。有人有主意吗? 我现在尝试的是: 将docx4j更新至最新版本 但以上都不起作用。我仍然会犯同样的错误。

  • 背景 Docx4j是一个Java库,可用于处理Microsoft Word文档,如Java中的XML。我们用Coldfusion编写的旧应用程序已经正确地使用了这个库。然后我们转向了更新的软件Lucee。这已经给实现Docx4j库带来了问题。它最终通过将带有所有依赖项的Docx4j jar放到文件夹“wwwroot/WEB-INF/lucee/lib”中来工作。重启Lucee服务后,它正确地加载了

  • 我需要在我的主桌里推第二张桌子。我使用主表来修改文本格式:我正在用java创建一个生成课程的类,所以我需要一个主表来创建一个好的模板 我哪里错了?

  • 提前谢了。 马蒂亚斯