Почему maven не включает файлы JSP в мою банку?

У меня есть встроенное веб-приложение для причала (версия 8.1.8), которое я упаковываю как банку и которое использует JSP для своего внешнего интерфейса. Он построен с помощью maven версии 3.0.3. Проблема в том, что когда я делаю: mvn package, он включает все, кроме файлов *.jsp. Я пытался переместить их в разные места, но безуспешно.

Я пытался добавить <include>src/main/java/**/*.jsp</include> в раздел maven-compiler-plugin моего pom. Но и это не повлияло.

Есть ли способ убедиться, что файлы jsp включены?


person klactose    schedule 28.03.2013    source источник
comment
Вы используете maven jar plugin или maven war plugin для создания файла jar?   -  person Charlee Chitsuk    schedule 28.03.2013
comment
Я использую maven-jar-plugin   -  person klactose    schedule 28.03.2013


Ответы (2)


Мое решение состояло в том, чтобы добавить файлы jsp в src/main/webapp и добавить следующий фрагмент в файл pom:

<build>
    <resources>
      ...
      <resource>
        <directory>src/main/webapp</directory>
      </resource>
      ...
    </resources>
    ...
</build>
person klactose    schedule 23.04.2013
comment
Я обнаружил, что это стирает обычное включение ресурсов, если вы не сделаете для этого второй блок <resource>. - person end-user; 31.08.2018
comment
@end-user ... после блока resource должен был указывать, что это просто дополнительный ресурс, а не замена каких-либо существующих ресурсов. Тем не менее, я добавил еще один набор многоточий перед блоком ресурсов, что, надеюсь, сделает это более понятным. - person klactose; 16.09.2018
comment
Нет, я понимаю, что многоточие означает, что могут присутствовать другие элементы. Что я предлагаю, так это (я считаю), что поведение Maven по умолчанию, без указания блока <resources>, заключается в том, чтобы включать все, что находится в src/main/resources. Однако, если вы направите его на webapp, он переопределит значение по умолчанию, требуя, чтобы вы указали оба (если вам нужны оба). - person end-user; 17.09.2018

Попробуйте поместить .jsp в src/main/resources, Maven игнорирует все файлы, кроме .java, в src/main/java

person Evgeniy Dorofeev    schedule 28.03.2013
comment
хм, только что попробовал. Не похоже, что каталог src/main/resources также добавляется в банку. Я проверяю содержимое с помощью команды jar - person klactose; 28.03.2013
comment
Используйте $ mvn clean package для создания файла jar, а затем проверьте его содержимое. Один из настроенных вами плагинов вызывает проблемы, которые вы видите. Начните без <plugins>, затем добавляйте каждый плагин обратно, пока он снова не сломается. Затем исправьте конфигурацию этого конкретного плагина. - person Joakim Erdfelt; 28.03.2013
comment
поэтому, чтобы папка src/main/resources отображалась в моей банке, мне действительно пришлось добавить эту папку в pom следующим образом: <build><resources><resource>src/main/resources</resource></resources>...</build> - person klactose; 29.03.2013
comment
src/main/resources по умолчанию. в банку попадает не сам каталог, а его содержимое. если вы поместите 1.jsp в src/main/resources, вы получите 1.jsp в корне банки - person Evgeniy Dorofeev; 29.03.2013