Tag: xerces

更新Apache POI 4.0后 – 无法识别属性“http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit”

在将Apache POI从3.17更新到4.0.0后,我正在上线: OPCPackage pck = OPCPackage.open(this.getTemplate()); 例外: java.lang.IllegalArgumentException: Property ‘http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit’ is not recognized. at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.setAttribute(DocumentBuilderFactoryImpl.java:144) at __redirected.__DocumentBuilderFactory.setAttribute(__DocumentBuilderFactory.java:125) at org.apache.poi.ooxml.util.DocumentHelper.trySetXercesSecurityManager(DocumentHelper.java:143) at org.apache.poi.ooxml.util.DocumentHelper.(DocumentHelper.java:108) at org.apache.poi.openxml4j.opc.internal.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:392) at org.apache.poi.openxml4j.opc.internal.ContentTypeManager.(ContentTypeManager.java:104) at org.apache.poi.openxml4j.opc.internal.ZipContentTypeManager.(ZipContentTypeManager.java:54) at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:258) at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:725) at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:275) at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:181) 他们说在如何禁用accessExternalDTD和entityExpansionLimit警告与logback我应该排除xerces,但我已经有这个: org.apache.poi poi 4.0.0 org.apache.poi poi-ooxml 4.0.0 xml-apis xml-apis xerces xercesImpl 我的设置: JDK 8 WildFly 14 回到3.17修复了这个问题。

Xerces 2.11.0(Java)中特定于语言环境的消息

我想在我的JAXP和Xerces2中使用特定于语言环境的错误消息。 默认情况下,只有英文消息可用。 第一步是检索消息文件并将它们放入包“org / apache / xerces / impl / msg /” – 完成。 通过使用Locale.setDefault (Locale.GERMANY) ,将显示德语消息,以便这样做。 但我希望消息在每个实例的基础上进行不同的本地化。 因此,一个解析器应返回英文消息,另一个解析器应返回德语消息。 我用来创建SAX2解析器的代码是: org.xml.sax.XMLReader ret = XMLReaderFactory.createXMLReader (); 对于DOM我正在使用DocumentBuilder喜欢这个(非常简化): final DocumentBuilderFactory aDocumentBuilderFactory = DocumentBuilderFactory.newInstance (); final DocumentBuilder aDocBuilder = aDocBuilderFactory.newDocumentBuilder (); final Document doc = aDocumentBuilder.parse (aInputSource); 我找到了类似org.apache.xerces.impl.XMLErrorReporter类的东西,它有一个setLocale(Locale)方法,但是我找不到获取/设置它的方法。 切换到SAX1不是一个选项btw。 任何帮助表示赞赏!

java.lang.ClassCastException:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl无法强制转换为javax.xml.parsers.DocumentBuilderFactory

我在我的项目中使用java1.6 , jboss5.1和Spring maven 3.2.5 。我得到了 java.lang.ClassCastException:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl无法强制转换为javax.xml.parsers.DocumentBuilderFactory 这是我的Pom.xml 4.0.0 com.varun.batch myproject war 0.0.1-SNAPSHOT myproject Maven Webapp http://maven.apache.org org.springframework spring-orm 3.2.13.RELEASE org.springframework.batch spring-batch-core 3.0.1.RELEASE org.springframework.batch spring-batch-infrastructure 3.0.1.RELEASE org.apache.axis2 axis2 1.6.2 org.apache.xmlbeans xmlbeans 2.5.0 org.apache.axis2 axis2-transport-local 1.6.1 org.apache.axis2 axis2-transport-http 1.6.1 commons-codec commons-codec 1.6 org.apache.poi poi 3.9 org.hibernate.javax.persistence hibernate-jpa-2.0-api 1.0.0.Final org.hibernate hibernate-validator 3.1.0.CR2 org.slf4j slf4j-api org.hibernate hibernate-entitymanager 3.3.1.ga […]

ElementNSImpl to String

我有一个调用Web服务的客户端,我正在返回一个ElementNSImpl对象。 是否可以将此对象转换为String? 对于org.w3c.dom.Document对象,我使用过这样的代码: protected static String documentToString(final Document doc) { // outputs a DOM structure to plain String try { StringWriter sw = new StringWriter(); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, “no”); transformer.setOutputProperty(OutputKeys.METHOD, “xml”); transformer.setOutputProperty(OutputKeys.INDENT, “yes”); transformer.setOutputProperty(OutputKeys.ENCODING, “UTF-8”); transformer.transform(new DOMSource(doc), new StreamResult(sw)); return sw.toString(); } catch (Exception ex) { throw new RuntimeException(“Error […]

WAS 8.5:java.lang.ClassCastException:org.apache.xerces.jaxp.SAXParserFactoryImpl与javax.xml.parsers.SAXParserFactory不兼容

我正在Websphere Application Server 8.5中部署J2EE Web应用程序。 Web应用程序具有与所有第三方库共享的库。 所有内部编码的库都在WEB-INF / lib文件夹中。 问题是只有一些jsps WAS会抛出以下exception。 我认为它与xercesImpl-2.8.1.jar有关但我不明白为什么它会抛出这个exception以及它为什么只抛出一些页面。 在tomcat它完美地工作。 java.lang.ClassCastException: org.apache.xerces.jaxp.SAXParserFactoryImpl incompatible with javax.xml.parsers.SAXParserFactory at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source) at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:152) at org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:96) at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateTagLib(ValidateVisitor.java:1129) at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitJspRootStart(ValidateVisitor.java:491) at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:233) at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:216) at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:127) at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:254) at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:121) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:535) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:452) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.checkForTranslation(AbstractJSPExtensionServletWrapper.java:283) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.findWrapper(AbstractJSPExtensionProcessor.java:456) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.getServletWrapper(AbstractJSPExtensionProcessor.java:337) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:963) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193) […]

使用Java中的Xerces对XSD 1.1进行XMLvalidation

我已经通过Maven安装了Xerces: junit junit 4.11 test org.jdom jdom 2.0.2 xerces xercesImpl 2.11.0 然后,我尝试使用Xerces FAQ中的此示例中给出的代码,根据1.1版中的模式validationXML文件。 这是我的代码: private static void validateFile(File xmlFile, File xsdFile) throws SAXException, IOException { // 1. Lookup a factory for the W3C XML Schema language SchemaFactory factory = SchemaFactory.newInstance(“http://www.w3.org/XML/XMLSchema/v1.1”); // 2. Compile the schema. File schemaLocation = xsdFile; Schema schema = factory.newSchema(schemaLocation); // 3. […]

Apache Hadoop setXIncludeAware UnsupportedOperationException

我正在尝试运行Apache Hadoop 1.21,但我遇到了这个exception: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@2662e5cf:java.lang.UnsupportedOperationException 完整堆栈跟踪: 13/10/17 17:22:52 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@2662e5cf:java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:589) at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1131) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1107) at […]

如何使用Java和Xerces解析确认1.1规范的XML?

我正在尝试解析包含符合XML 1.1规范的 XML内容的String。 XML包含XML 1.0规范中不允许但在XML 1.1规范中允许的字符引用(字符引用转换为U + 0001-U + 001F范围内的Unicode字符)。 根据Xerces2网站, Xerces2解析器支持解析XML 1.1文档。 但是,我无法弄清楚如何告诉它我们试图解析的XML包含1.1兼容的XML。 我正在使用DocumentBuilder来解析XML(类似这样): public Element parseString(String xmlString) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); InputSource source = new InputSource(new StringReader(xmlString)); // Throws org.xml.sax.SAXParseException becuase of the invalid character refs Document doc = documentBuilder.parse(source); return doc.getDocumentElement(); } catch (ParserConfigurationException pce) […]

导入Xerces库时无法构建应用程序(退出值1)

当我在Xerces库中导入时,我似乎无法构建我的应用程序。 由于之前的问题,我已经在使用multidex,因此我知道这一切都已正确设置。 我花了几天时间在线查看并尝试各种版本的Xerces并调整到我的build.gradle但无法解决问题。 我已经尝试过清理重建,重新设置Android Studio /我的PC,使用jar直接编译,现在正式出于想法。 下面是我的build.gradle设置: android { compileSdkVersion 23 buildToolsVersion “23.0.2” defaultConfig { applicationId “#packageid#” minSdkVersion 18 targetSdkVersion 23 versionCode 1 versionName “0.8” multiDexEnabled true } buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } release { minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { // compile fileTree(include: [‘*.jar’], dir: […]

在使用DocumentBuilder.parse解析格式良好的XML时,如何关闭validation?

我正在使用Java 6.我想解析我知道格式正确的XHTML。 因此,我不想对文档中引用的DTD或其他模式进行任何validation。 但是,我无法弄清楚如何关闭validation。 我有 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); final DocumentBuilder b = factory.newDocumentBuilder(); final InputSource s = new InputSource(new StringReader(str)); org.w3c.dom.Document result = b.parse(s); 但我仍然在最后一行得到例外…… java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:777) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:640) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:774) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:640) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282) at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1194) at […]