当我尝试使用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) {
}
答案 0 :(得分:4)
首先,这是不 异常,这是编译错误。代码甚至无法成为可运行的.class
文件。这是一个巨大的差异。在未来,您应该尝试更明确地说明这一点。
这个编译错误实际上意味着在编译期间类路径中缺少所提到的类。如果您使用javac
进行编译,则需要将Castor JAR文件的完整路径添加到-cp
(classpath)参数中,该文件包含所提到的类。像这样:
javac -cp .;c:/path/to/Castor.jar com/example/YourClass.java
那是一个Windows示例;在Unix / Linux和克隆中,您需要:
作为路径分隔符。内部带有空格的单个路径应该用引号括起来。