2010-01-02 193 views
1

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

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

这是一个编译错误。抱歉不是例外问题。编译时,我没有在代码中显示错误。我已经导入了jar文件 – user236501 2010-01-02 14:38:54

+0

为什么你用一个新问题编辑你的问题而不是发布一个新问题?现在的答案没有任何意义了。请回滚编辑,接受帮助解决问题并发布新问题的答案。我不会在这里编辑我的答案,以反映您完全改变的问题。 – BalusC 2010-01-04 01:52:14

+0

没有帮助解决问题的答案。我会发表一个新的问题,谢谢。 – user236501 2010-01-04 02:18:05

回答

4

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

该编译错误实际上意味着在编译期间类路径中缺少所提及的类。如果使用javac进行编译,则需要将包含上述类的Castor JAR文件的完整路径添加到-cp(classpath)参数中。事情是这样的:

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

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

+0

我从jdeveloper运行文件,我如何在路径中添加? – user236501 2010-01-02 14:08:28

+0

检查项目属性中的*库*部分。 – BalusC 2010-01-02 14:24:01