2009-11-11 2 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 в этом пакете. Я actuall побежал так, чтобы убедиться:

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

Я не опытный разработчик Java, так что я даже не совсем уверен, что проблема может быть в данный момент, кроме того, что не может показаться найти класс, который, очевидно, существует. Я сделал чистую и построил на библиотеке, у которой есть пакет, о котором идет речь, и это работает отлично. Я думал, что попрошу о помощи здесь, пока я продолжаю суетиться, пытаясь понять это.

+0

Возможно, файлы не находятся в вашем пути сборки? Вы используете IDE - какой? – Swati

+0

Что значит «в библиотеке»? В файле jar в вашем пути к классам? – bmargulies

+0

Я использую Netbeans. Под «в библиотеке» я подразумеваю создание глобальной библиотеки в Netbeans, в которой содержится банка, в которой был пакет (и несколько других), и добавил это в мой проект. Я могу получить доступ ко всем классам в этой библиотеке с помощью кода, как я заметил выше. Я должен, вероятно, указать, что я разработчик .NET, которому было предложено изучить Java (и я единственный человек с любым (не очень) опытом Java здесь). –

ответ

1

ОК, ну, я переместил пакет из библиотеки, в которой он находился, и непосредственно в проект, который пытался получить к нему доступ (чтобы он мог напрямую обращаться к пакету, а не делать это через библиотеку), и кажется чтобы работать сейчас. Надеюсь, у кого-то будет лучший ответ или решение, объясняющее, почему это так, но на данный момент, по крайней мере, проект не взрывает меня.

 Смежные вопросы

  • Нет связанных вопросов^_^