Во-первых, многие Pom'ы, которых я вижу, просто имеют тег под корнем файла pom.xml, в котором перечислены все зависимости. Однако здесь нет никакой информации о том, где они хранятся и т. Д., Поэтому я чувствую, что это не то, что я хочу (мне нужно скопировать их в мой каталог rails lib dir)
Это традиционный способ объявления и использования зависимостей в проекте Java. Зависимости , объявленные в элементе <dependencies>
, загружаются из «удаленного репозитория» и устанавливаются в ваш «локальный репозиторий» (в ~/.m2/repository
по умолчанию), а затем обрабатываются артефакты. Проекты Maven (по крайней мере, проекты Java) не используют локальную папку lib/
для своих зависимостей.
Второй вариант, который я вижу в документации mvn - это использовать плагин maven-dependency-plugin, который больше похож на то, что я ищу. Я предполагаю, что мой outputDirectory будет что-то вроде lib
Плагин maven зависимость позволяет взаимодействовать с артефактами и копировать / распаковывать их из локального или удаленного хранилища в указанное место. Таким образом, его можно использовать для получения некоторых зависимостей и их копирования, скажем, в каталог lib/
. На самом деле, у него есть несколько целей, позволяющих сделать это:
- зависимость: копия принимает список артефактов, определенных в плагине
раздел конфигурации и копирует их
в указанное место, переименовывая их
или удаление версии, если это необходимо.
Эта цель может решить артефакты
из удаленных репозиториев, если они этого не делают
существуют в местном.
- зависимость: копия-зависимости принимает список проекта напрямую
зависимости и, необязательно, переходные
зависимости и копирует их в
указанное место, зачистка
версия по желанию. Эта цель также может
запускаться из командной строки.
Первая цель будет использовать настройку, описанную вами во втором варианте. Вторая цель будет использовать стандартные зависимости проекта, которые вы описали в первом варианте. Оба подхода будут работать.
Проблема здесь в том, что я не знаю точно, что такое приложение JRuby Rails, каков рабочий процесс разработки, как создать такое приложение и т. Д., Поэтому я не знаю точно, что вам нужно делать, и, следовательно, Что было бы лучшим способом реализовать это с Maven.
Так что я немного погуглил и нашел этот пост , который показывает другой подход, основанный на командах ОС (использующий плагин maven exec) и имеет полный pom.xml
, делающий некоторые другие вещи , Может быть, вы должны взглянуть на это и использовать его в качестве отправной точки, а не изобретать все заново. Это мое предложение на самом деле.