#maven #dependencies #fatjar
#maven #зависимости #fatjar
Вопрос:
Я создаю fat jar с помощью maven-assembly-plugin. Jar сгенерирован успешно. Единственная зависимость, которая у меня есть для моего проекта: JUnit. Но в fat jar я не могу увидеть это включенным (используя команду jar tf). Является ли зависимость JUnit не включенной в fat jar обычно?
Ответ №1:
junit обычно является test
зависимостью с ограниченной областью действия, и тогда она не будет включена.
Зависимости с областью видимости test
предназначены для использования во время сборки для тестов, поэтому нет необходимости включать их в окончательный JAR.
Если по какой-то причине вам нужен junit в последнем JAR, вам нужно изменить область действия на compile
.
Комментарии:
1. На самом деле еще один вопрос.. На этапе компиляции (а также цели) Я не упоминаю, какой тип компилятора (java / scala / C и т. Д.) Использовать, А также версию. Но фаза / цель обнаруживает компилятор Java (вместе с версией) и генерирует файлы классов. Не могли бы вы, пожалуйста, помочь мне понять, как это происходит за кулисами.
2. Плагин компиляции maven maven.apache.org/plugins/maven-compiler-plugin автоматически подключается к фазе компиляции. Если у вас есть какие-либо вопросы по этому поводу, пожалуйста, задайте новый вопрос здесь, на SO.