У меня есть веб-проект, использующий композиты и класс Java из другого утилитарного веб-проекта.Но при добавлении ссылочного веб-проекта и запуске на сервере он не находит ссылочные, такие как импортированный класс или составной.javax.servlet.ServletException: java.lang.NoClassDefFoundError
Проекты добавляются в Eclipse, например:
- Щелкните правой кнопкой мыши проект> Путь сборки Java> проекты> add.
- Щелкните правой кнопкой мыши проект> Сборка развертывания> Добавить> проект.
снимки экрана Проект импорта Eclipse
В случае добавления простого проекта Java, то проект, на который имеется ссылкапреобразуется в jar и добавляется в WEB-INF> lib> javaproject.jar
снимок экрана развернутого jar в lib
Если, например, мы используем ссылочный класс изВ этом Java-проекте мы импортируем его через com.javaproject.ClassA, и он автоматически найдет его в WEB-INF> lib> javaproject.jar> com.javaproject.ClassA.Здесь нет проблем.
снимок экрана .jar структура развернутой папки
В случае, если мы ссылаемся на веб-проект, то указанный проект преобразуется в войну и добавляется в WEB-INF> lib> webproject.war
Если, например, мы используем ссылочный класс из этого веб-проекта, мы импортируем его через com.webproject.ClassB, и он ДОЛЖЕН автоматически найти его в WEB-INF> lib>webproject.war> com.webproject.ClassB.Но он не находит класс в нашем случае.
Я заметил, что у файла .war есть свой java .class в webproject.war> WEB-INF> class> com.webproject.ClassB.Я думаю, что именно по этой причине он не находит класс в ссылке на веб-проект .war, но находит его в ссылке на javaproject .jar.
снимок экрана развернутая структура папок .war
Кто-нибудь когда-нибудь использовал веб-проект в качестве утилитного проекта и ссылался на него другому веб-проекту?как именно это сделать?