Как установить JQuery в мое веб-приложение с помощью Maven? - PullRequest
7 голосов
/ 23 ноября 2011

Я смотрю на использование Maven 3 для некоторых веб-разработок. Я знаю, как использовать maven для разрешения jav-файлов на основе jar. Как использовать maven для разрешения зависимостей JavaScript, например, я хочу, чтобы maven автоматически помещал jquery в мою папку webapp / js?

Возможно ли сделать транзитивные зависимости JavaScript с Maven 3?

Ответы [ 5 ]

5 голосов
/ 23 ноября 2011

Вы можете создать свою собственную "войну", в которой есть jquery по указанному вами пути.

Впоследствии добавьте эту войну в свое настоящее веб-приложение. Maven должен слить это. Я думаю, что это называлось что-то вроде «оверлейной обработки».

Я использую то же самое для некоторых приложений GWT, где javascript генерируется плагином maven и работает хорошо.

3 голосов
/ 06 октября 2013

Возможно WebJars может помочь вам:

WebJars - это веб-библиотеки на стороне клиента (например, jQuery & Bootstrap), упакованные в JAR (архив Java)файлы.

  • Явное и простое управление зависимостями на стороне клиента в веб-приложениях на основе JVM
  • Используйте инструменты сборки на основе JVM (например, Maven, Gradle и SBT) для загрузкиклиентские зависимости
  • Знайте, какие клиентские зависимости вы используете
  • Транзитивные зависимости магически появляются

Предупреждение: WebJars не помещает файлы jqueryв папке webapp/js.Прочтите документацию , чтобы узнать, как она используется с некоторыми популярными фреймворками.

1 голос
/ 26 марта 2014

Попробуйте добавить это в ваш файл pom.xml.Это сработало для меня:

<dependency>
    <groupId>com.efsavage.jquery</groupId>
    <artifactId>jquery-maven</artifactId>
    <version>1.7.2</version>
</dependency>

Эта библиотека дает вам возможность добавить jQuery в ваш проект как зависимость Maven, что означает, что вам не нужно включать эти сторонние файлы в свой собственный источник контроля.

Источник: здесь

0 голосов
/ 10 апреля 2013

Вы можете создать новый артефакт zip в своем репо с вашей версией jquery внутри.

Затем используйте плагин maven war, чтобы развернуть его в своей войне.

Внимательно посмотрите на<targetPath> и <includes>, чтобы быть уверенным в том, что вы развернете то, что вам нужно, где вам это нужно:)

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
       <overlays>
          <overlay>
             <groupId>yourgroupid</groupId>
             <artifactId>yourJqueryArtifactId</artifactId>
             <type>zip</type>
             <targetPath/>
             <includes>
                <include>js/jquery.js</include>
             </includes>
          </overlay>
       </overlays>
    </configuration>
 </plugin>

предыдущая конфигурация предполагает, что у вас есть каталог с именем js в zip с jquery.jsвнутри.Он будет разархивирован в вашей войне на js / jquery.js

Подробнее здесь

0 голосов
/ 24 ноября 2011

Может быть, вам следует использовать один из CDN , чтобы включить внешние библиотеки javascript в ваши веб-приложения? Например. для jQuery вы можете просто включить его с любого из URL от http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery

Также библиотеки из CDN уменьшат использование пропускной способности вашего сервера.

...