2013-03-03 5 views
0

Я создал проект JPA, который я хочу использовать в динамическом веб-проекте.ClassNotFoundException из jar в Dynamic Web Project

Я сделал банку из этого проекта JPA и добавил его в папку lib в динамическом веб-проекте. Затем я добавил это к пути построения динамического веб-проекта, а также пометил его на вкладке «Заказ и экспорт».

Первый вопрос: я создал файл jar с нормальным экспортом в банку с этими параметрами;

enter image description here

ли это нормально или у меня есть кое-что добавить.

Второй вопрос: после того, как я добавил эту банку в путь сборки, и я использую экземпляр класса из этого jar, я могу добавить его в импорт, и класс знает, поэтому я не вижу никаких ошибок.

Когда я пытаюсь запустить JSP и сервлетов, где я использую класс я получаю java.lang.NoClassDefFoundError ошибку в моем апача с java.lang.ClassNotfoundEception на линии, где я использую класс. Поэтому по какой-то причине он не находит класс во время выполнения.

Я попытался сделать банку снова и снова с различными вариантами. Я попытался импортировать класс, который мне нужен по-разному (ctrl-T), но я вижу только один класс.

Единственное, что я нахожу странным, это то, как выглядит импорт. В моем JPA проекте у меня есть структура пакетов, например:

be.JPA.project6

в моей динамической веб-проекта У меня есть структура пакетов, например:

be.project6

, когда я вижу, импорт, я вижу: be.JPA.project6.data.classname

Я бы ожидал, что будет другая структура, чтобы он знал, что ему нужно искать вне «нормальной» структуры пакета. Но также с «ctrl-T» я могу видеть только этот класс

Я не хочу ссылаться на другой проект, но использую его так, как это делается с банкой.

В настоящее время у меня нет никаких подсказок, поэтому любые советы будут более приветствуемыми.

ответ

1

Путь сборки таков: путь построения. Путь, используемый для , создает приложение.

runtime classpath of webapp состоит из каталога WEB-INF/class и набора баннеров в WEB-INF/lib.

Удалите банку из пути построения динамического веб-проекта. Просто запустите его в каталог WebContent/WEB-INF/lib. Eclipse автоматически добавит все банки в этот каталог к ​​пути сборки и поместит их в каталог WEB-INF/lib развернутого веб-приложения, чтобы они также были частью пути к среде выполнения.

+0

Это сделало трюк! Большое спасибо!!!! –

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