无法编译 运行 基于 xerces 的 Java 程序

Unable to compile and run xerces based Java program

我有一个 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 时,我能够解析它,但在当前情况下,我在堆栈跟踪中收到此错误。

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)

我相信这是因为整个文件没有被读取或者它正在读取一个 t运行 的文件。请帮忙。

看起来问题出在 UTF-8 BOM 上。使用合适的十六进制编辑器并删除 UTF-8 BOM 的前三个字符。

EF BB B0