2010-01-02 202 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