1

当我尝试使用 Marshal 和 unmarshal 时,我从编译器得到“无法访问 org.exolab.castor.core.exceptions.CastorException”。我使用 Castor 1.3

    try {

        Writer writer = new FileWriter("out.xml");
        Marshaller.marshal(person, writer);
        Reader reader = new FileReader("out.xml");
        metaType = (Person) Unmarshaller.unmarshal(Person.class, reader);

    }catch (MarshalException e) {
    } catch (ValidationException e) {
    }
4

1 回答 1

4

首先,这不是异常这是编译错误。该代码甚至无法成为可运行文件。这是一个巨大的差异。将来,您应该尝试更明确地说明这一点。.class

这个编译错误实际上意味着在编译期间类路径中缺少提到的类。如果您使用 编译javac,则需要将包含提到的类的 Castor JAR 文件的完整路径添加到-cp(classpath) 参数。像这样的东西:

javac -cp .;c:/path/to/Castor.jar com/example/YourClass.java

那是一个 Windows 示例;在 Unix/Linux 和克隆中,您需要:作为路径分隔符。内部带有空格的各个路径应用引号括起来。

于 2010-01-02T13:48:28.730 回答