Подход к разработке клиентских веб-библиотек (например, webjars)

У меня есть несколько внутренних проектов, которые по сути представляют собой клиентские веб-ресурсы, которые я хотел бы раздать коллегам в виде webjars через наш менеджер репозитория. До сих пор процесс разработки был:

  1. Создайте пример веб-приложения, включающего веб-ресурсы, которые я хотел бы распространять и тестировать.
  2. Создайте отдельный проект с копиями активов, расположенных в src/main/resources/META-INF/resources, а не в src/main/webapp; установите <packaging> в jar, а не в war в pom.xml. Создайте и разверните артефакт jar в диспетчере репозитория.
  3. Создайте третий проект в качестве испытательного стенда, чтобы убедиться, что все работает правильно, когда файл jar из (2) включен в качестве зависимости проекта.

Я хотел бы объединить (1) и (2), чтобы я мог тестировать и выпускать из одного проекта. Мне нужно заставить Maven выборочно перемещать распространяемые активы в нужные места. Похоже, мне также нужен способ переключения <packaging>. Любые предложения о том, как это сделать или лучшие альтернативы?


person pmorken    schedule 16.01.2015    source источник


Ответы (1)


К сожалению, я не думаю, что есть хороший способ справиться с этим при использовании веб-приложений на основе WAR, потому что файлы WAR не похожи на файлы JAR. Если вы использовали веб-фреймворк, не основанный на WAR (Play Framework, Dropwizard и т. д.), то вы определенно могли бы сохранить упаковку JAR и иметь как статические ресурсы, так и приложение для тестирования в одном JAR.

person James Ward    schedule 16.01.2015
comment
Ваш ответ наводит меня на мысль о Spring Boot - возможно, я мог бы создать исполняемый файл jar со встроенным Tomcat на пробу и урезанную банку на выпуск? - person pmorken; 20.01.2015