Есть ли проблема при инициализации JAXBContext с пакетом в библиотеке? - PullRequest
2 голосов
/ 12 ноября 2009

Я пытаюсь инициализировать 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 находится в этом пакете. Я запустил его так, чтобы убедиться:

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

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

1 Ответ

1 голос
/ 12 ноября 2009

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

...