публикация файлов ресурсов другого проекта в контекстный путь вместо файла JAR в Eclipse - PullRequest
0 голосов
/ 05 октября 2011

У меня мало общих файлов ресурсов, таких как базовые файлы JS, CSS и HTML, и эти файлы будут использоваться двумя проектами / модулями maven. Я переместил эти файлы в общий проект и включил их в качестве зависимости для обоих проектов. Общий проект публикуется в виде файлов JAR, и я не хочу обслуживать файлы из файла JAR (используя материал ClassLoader).

Есть ли способ сделать общий ресурс проекта скопированным, как он есть, в фактическую папку контекста проекта, например:

COMMON_PROJECT/src/main/webapp/login.html до WEBAPP1/src/main/webapp COMMON_PROJECT/src/main/webapp/login.html до WEBAPP2/src/main/webapp

Фактическое требование : я не хочу публиковать общие файлы в виде jar-файла, потому что позже эти файлы будут перемещены из файла war и помещены непосредственно на сервер Ngnix. Могут ли некоторые дать рекомендации по улучшению управления в этой перспективе?

Ответы [ 3 ]

2 голосов
/ 05 октября 2011

С Maven вы можете сделать ваш общий проект оверлейным проектом , объявленным как зависимость, чтобы его ресурсы могли быть использованы в других проектах. Вам нужно будет использовать последний плагин m2eclipse с интеграцией WTP для поддержки наложений в Eclipse IDE .

0 голосов
/ 07 октября 2011

Вы можете предоставить свои файлы ресурсов как военный проект. А затем используйте Warpath Plugin , чтобы заставить два ваших проекта импортировать войну (и ее ресурсы).

0 голосов
/ 06 октября 2011

Я пытался с плагином, на который ответил @Eugene Kuleshov, но у плагина возникли проблемы с зависимостью в последней версии m2e.

После некоторого поиска, плагин m2e-wtp (сайт обновления: http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/) поддерживает точную функцию наложения веб-страниц.

Для этого требуется последний плагин m2e (1.0 +) (сайт обновления: http://download.eclipse.org/technology/m2e/releases/)

После установки m2e-wtp нам необходимо установить buildhelper Жизненный цикл из каталога m2e

  • Window > Preferences > Maven > Discovery > Open Catalog
  • установка Lifecycle mappings > buildhelper

Только в последних версиях этих m2e иm2e-wtp плагины, weboverlays поддерживаются (старый компоновщик Maven, который мы видим в Project properties > Builders, не способен на это)

Однако, при нормальной сборке Maven оверлеи работают из коробки.По умолчанию подключаемый модуль Maven war (не подключаемый модуль eclipse) будет копировать файлы ресурсов из войны зависимостей (также jar) в контекстный путь при создании проекта Maven.overlay требуется, если мы хотим больше контроля над этим процессом, как некоторые исключая.

...