#maven-2 #jar #build-process
#maven-2 #jar #процесс сборки
Вопрос:
В структуре моего проекта есть папка с именем /libs, которая содержит все необходимые библиотеки, которые понадобятся моему проекту во время компиляции. Возможно ли, что я сказал maven2 в процессе компиляции использовать эти библиотеки вместо зависимостей или чего-то еще. что еще?
Итак, я вызываю mvn compile war:war, и после этого my .war содержит библиотеки из папки / libs.
BR, mybecks
Ответ №1:
Я полагаю, вы ищете системные зависимости, такие как
<project>
...
<dependencies>
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>2.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/foo-bar-2.0.0.jar</systemPath>
</dependency>
</dependencies>
...
</project>
Системные зависимости не будут скопированы в файл war — возможно, вы сможете достичь этого, поместив их в src/main/webapp/WEB-INF/lib
каталог вместо ${project.basedir}/libs
.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я просто попытался ответить на вопрос и не рекомендую решение для всех зависимостей.
Комментарии:
1. когда я копирую их в папку /WEB-INF / lib, мне больше не нужна зависимость или?
2. @mybecks Maven будет использовать зависимости для генерации пути к классу, который вам нужно скомпилировать. Maven не будет извлекать эти банки без определения зависимостей — таким образом, они вам понадобятся. Кажется, что вы пытаетесь использовать maven при довольно «обычной» настройке проекта. Поскольку maven во многом работает по соглашению о настройке (например, по расположению каталогов ), будет трудно достичь того, чего вы могли бы хотеть.