Я пытаюсь инициализировать 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, так что я даже не совсем уверен, что проблема может быть в данный момент, кроме того, что не может показаться найти класс, который, очевидно, существует. Я сделал чистую и построил на библиотеке, у которой есть пакет, о котором идет речь, и это работает отлично. Я думал, что попрошу о помощи здесь, пока я продолжаю суетиться, пытаясь понять это.
Возможно, файлы не находятся в вашем пути сборки? Вы используете IDE - какой? – Swati
Что значит «в библиотеке»? В файле jar в вашем пути к классам? – bmargulies
Я использую Netbeans. Под «в библиотеке» я подразумеваю создание глобальной библиотеки в Netbeans, в которой содержится банка, в которой был пакет (и несколько других), и добавил это в мой проект. Я могу получить доступ ко всем классам в этой библиотеке с помощью кода, как я заметил выше. Я должен, вероятно, указать, что я разработчик .NET, которому было предложено изучить Java (и я единственный человек с любым (не очень) опытом Java здесь). –