#java #war
#java #Война
Вопрос:
У меня есть требование добавить некоторые пользовательские классы и JSP в существующее веб-приложение Java. Пользовательские классы должны быть в своем собственном пакете, отдельно от существующих классов Java. Существующее приложение построено на платформе struts.
Я довольно новичок во всем этом и нуждаюсь в руководстве по следующему:
- Используя Eclipse IDE, если я импортирую существующий файл и библиотеки WAR и распаковываю файл WAR, как мне скомпилировать новые исходные файлы .java и добавить файлы .class в WAR?
- Существующие файлы .class содержатся в JAR. Нужно ли мне создать файл JAR, содержащий новые файлы .class за пределами eclipse, а затем добавить его в то же место, что и существующий файл .class JAR, т.е. WEB-INF / lib (папки WEB-INF / lib / classes нет)
- Добавление JSP и внесение изменений в web.xml файл должен быть в порядке, но есть ли какие-то подводные камни, на которые следует обратить внимание?
Любая помощь приветствуется
Комментарии:
1. Если вы опубликуете класс, который хотите добавить, было бы проще дать вам подсказку.
2. @ujulu Тремя классами являются CustomerExtendAction, CustomerExtendRootBean и CustomerExtendDataBean
3. Я не имел в виду имена классов 🙂
4. Ha!! Мне было интересно, что все в порядке 🙂
Ответ №1:
Если я импортирую существующий файл WAR, я не советую вам импортировать сторонний файл war в Eclipse. Вместо этого выполните следующие действия:
- Создайте динамическое веб-приложение в Eclipse (см. Скриншот ниже):
- Реализуйте свои пользовательские классы и помещайте их в папку
Java Resources / src
- Поместите JSP под
WebContent / jsps
(вы можете выбрать любое имя, которое вам нравится) - Создайте новый каталог в вашей файловой системе (Windows / Unix …) и скопируйте в него сторонний war.
- Распакуйте файл war с помощью командной строки как:
jar xvf mythirdparty.war
- Скопируйте файлы вашего класса (они должны быть в
build / classes
папке; см. Скриншот) вWEB-INF / classes
папку распакованного стороннего war. - Скопируйте JSP (папку
jsps
) в корень распакованного war. - Удалите старую войну (сторонней войны), чтобы
- Перейдите к корню и снова упакуйте как:
jar cvf thirdparty.war *
Комментарии:
1. Спасибо, уджулу, я попробую это в понедельник, очень благодарен