2009-11-11 70 views
2

我想初始化,就像這樣的JAXBContext:使用庫中的包初始化JAXBContext是否存在問題?

JAXBContext jaxbContext = JAXBContext.newInstance("ebay.apis.eblbasecomponents"); 

當運行的代碼,但是,我得到以下運行時錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: ebay/apis/eblbasecomponents/ObjectFactory 
Caused by: java.lang.ClassNotFoundException: ebay.apis.eblbasecomponents.ObjectFactory 

的ebay.apis.eblbasecomponents包位於初始化代碼可以訪問的庫中。該包中的ObjectFactory類是IS。我實際工作中遇到像這樣以確保:

ebay.apis.eblbasecomponents.ObjectFactory factory = new ObjectFactory(); 
    factory.createAddressType(); 
    JAXBContext jaxbContext = JAXBContext.newInstance("ebay.apis.eblbasecomponents"); 

我不是一個有經驗的Java開發人員,所以我甚至真的知道什麼可能是在這一點上的問題,除了它似乎不能找到明顯存在的班級。我已經完成了一個清理工作,並建立了具有相關軟件包的庫,並且工作得很好。我想我會在這裏尋求幫助,而我繼續探索解決這個問題。

+0

也許文件不在您的構建路徑?你在用IDE嗎?哪一個? – Swati 2009-11-12 00:10:52

+0

'你在圖書館裏'是什麼意思?在類路徑中的jar文件中? – bmargulies 2009-11-12 00:47:40

+0

我正在使用Netbeans。 「在圖書館中」我的意思是在Netbeans中創建了一個全球圖書館,其中包含一個包含問題包的jar(以及其他一些包),並將其添加到我的項目中。我可以通過代碼訪問這個庫中的所有類,就像我上面提到的那樣。我應該指出,我是一個被告知要學習Java的.NET開發人員(並且我是唯一擁有任何(不太多)Java經驗的人)。 – 2009-11-12 15:21:36

回答

1

OK,好讓我感動包了它是在直接進入項目庫,試圖訪問它的(所以它可以訪問直接封裝而不是通過庫做的),似乎現在正在工作。希望有人會有更好的答案或解決方案來解釋爲什麼會這樣,但現在至少該項目不會讓我失望。