Я пытаюсь написать pom.xml, который позволит мне запустить команду локально и получить все зависимости, которые есть в моем приложении jruby Rails. Я вижу две разные конфигурации, хотя и я не совсем уверен, что использовать (поскольку я не человек java вообще)с помощью maven для управления java-зависимостями в приложении jruby rails
Во-первых, у многих Pom я вижу только тег под корнем pom.xml, который перечисляет все зависимости. Однако у этого нет никакой информации о том, где они хранятся и т. Д., Поэтому я чувствую, что это не то, что я хочу (мне нужно скопировать их в мой рельс lib dir)
Второй вариант, я видение в документах mvn заключается в использовании плагина maven-dependency, который больше похож на то, что я ищу. Я предполагаю, что мой outputDirectory будет чем-то вроде lib
Так что я не совсем понимаю, для чего предназначена цель списка зависимостей первого варианта. Все, что я хочу, это mvn, чтобы скопировать мои банки локально (а затем, в конце концов, когда мой сервер CI выполняет развертывание). Может ли кто-нибудь указать мне в правильном направлении?
Первый вариант
<project>
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
</project>
Второй вариант
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<artifactItems>
<artifactItem>
<groupId>[ groupId ]</groupId>
<artifactId>[ artifactId ]</artifactId>
<version>[ version ]</version>
<type>[ packaging ]</type>
<classifier> [classifier - optional] </classifier>
<overWrite>[ true or false ]</overWrite>
<outputDirectory>[ output directory ]</outputDirectory>
<destFileName>[ filename ]</destFileName>
</artifactItem>
</artifactItems>
<!-- other configurations here -->
</configuration>
</plugin>
</plugins>
</build>
</project>
wow Спасибо за ссылку, я искал более часа, чтобы найти что-то в этом роде. Кроме того, thx для информации. Если я правильно понял, то: Если я определяю свои зависимости в корне проекта в pom в теге, я не использую плагин maven-dependency и я (где-то) описываю в моем пом, где копировать их. Если я не определяю свои зависимости в теге корневых зависимостей, а скорее в плагине зависимости от maven, я указываю каждую зависимость как артефакт, включая, где я хочу, чтобы он копировался? –
brad
hmmm ... К сожалению, это больше похоже на pom для развертывания приложения, где они создают войну, файлы и копируют файлы на эту войну. Не совсем то, что я хочу, но я уверен, что понимаю, что мне нужно. – brad
@brad Добро пожаловать. Теперь о вашем вопросе: не совсем. В обоих случаях вы должны использовать плагин maven-dependency, но у него есть * несколько целей (способы вызвать его, если хотите), и вы просто будете использовать разные цели. Как указано, 'dependency: copy' принимает список артефактов, определенных в разделе конфигурации плагина. С другой стороны, 'dependency: copy-dependencies' принимает список прямых зависимостей проекта (...). Я не предоставил фрагмент конфигурации, потому что думал, что это не будет актуальным. Если вы действительно хотите посмотреть, как это можно сделать, дайте мне знать. –