Apache Maven - фреймворк для автоматизации сборки проектов на основе описания их структуры в файлах pom.xml
Некоторые библиотеки добавляют необходимые им зависимости. Рекомендуется добавить все эти зависимости самостоятельно. Так как если библиотека не видит явной зависимости в pom.xml, она будет добавлена как неявная зависимость для новой библиотеки:
Maven использует модель определённых фаз(phase), к которым присоединяются определённые "цели" (goals).
Обновление зависимостей
mvn dependency:resolve
Создание:
<properties>
<jxl.version>2.6.12</jxl.version>
</properties>
Использование:
<version>${jxl.version}</version>
Если несколько зависимостей использует зависимости на одну библиотеку с разными версиями. Для устранения дублирования кода нужно исключить обычно более старую версию.
Для удаления зависимых библиотек, которые вы не хотите нужно использовать 'exclusions' в блоке 'dependencies'.
Пример:
<exclusions>
<exclusion>
<artifactId>servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
</exclusions>
Scope - указывает область действия(этап жизненного цикла проекта), в котором эта зависимость будет доступна.
Использование RELEASE или LATEST в указании версий, не рекомендуется. Так plugin который отвечает за это не всегда работает исправно. Необходимо указывать конкретную версию.
Maven – это фреймворк, который выполняет плагины выполняющие задачи.
Maven использует JAVA 5. Для plugin можно указать версию в настройках.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Плагин для сборки проекта в JAR файл, но без зависимостей.
Плагин аналогичен с "jar" плагином, но также добавляет все необходимые зависимости.
Для того чтобы запустить jar файл, нужно в pom.xml добавить плагин
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
И указать на месте <mainClass< - Название класса с Main методом.(Указывается путь с папки java)
После создаем файл в формате .bat, заменяем имя.
@ECHO OFF
java -jar name.jar
PAUSE