【发布时间】:2015-10-19 23:14:13
【问题描述】:
我有一个 Java 程序,我在其中使用 Apache xerces.jar 来解析 XML 文件。我遇到了一个错误,这里的错误是:
javac -classpath ":." MyParser.java
MyParser.java:4: error: package org.apache.xerces.parsers does not exist
import org.apache.xerces.parsers.*;
^
我尝试了以下各种选项:
javac -classpath ":." MyParser.java
javac -cp ":." MyParser.java
javac -classpath ":xerces.jar" MyParser.java
javac -cp ":xerces.jar" MyParser.java
javac -classpath :. MyParser.java
javac -cp :. MyParser.java
javac -classpath :xerces.jar MyParser.java
javac -cp :xerces.jar MyParser.java
导致问题的主要代码是:
import org.apache.xerces.parsers.*;
我能够完美地编译它并在 Netbeans IDE 中运行它,但我无法使用命令行来实现它。我使用命令行的主要原因是,使用 Netbeans,我无法解析 250 MB 的文件。有谁知道如何增加堆栈/堆限制?
当我将 XML 文件减少到小于 10 KB 时,我能够解析它,但在当前场景中,我在 Stack Trace 中收到此错误。
org.xml.sax.SAXParseException; systemId: file:/C:/Users/user/Downloads/Project/Test/Parser/posts2.xml; lineNumber: 1; columnNumber: 1; The markup in the document preceding the root element must be well-formed.
at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1318)
at org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.java:616)
at org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.dispatch(XMLDocumentScanner.java:798)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1208)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1247)
at MyParser.main(MyParser.java:21)
BUILD SUCCESSFUL (total time: 0 seconds)
我相信这是因为,整个文件没有被读取,或者它正在读取一个被截断的文件。请帮忙。
【问题讨论】:
标签: java netbeans xml-parsing xerces