Как создать файл манифеста с Maven
Это руководство покажет вам, как использоватьmaven-jar-plugin
для создания файла манифеста и упаковать / добавить его в окончательный файл jar. Файл манифеста обычно используется для определения следующих задач:
-
Определите точку входа приложения, сделайте Jar исполняемым файлом.
-
Добавить путь к классам зависимостей проекта.
Когда вы запускаете командуmvn package
для упаковки проекта в Jar, следующий файлmeta-inf/manifest.mf
будет сгенерирован и автоматически добавлен в окончательный файл Jar.
meta-inf/manifest.mf
Manifest-Version: 1.0 Built-By: ${user.name} Build-Jdk: ${java.version} Created-By: Apache Maven Archiver-Version: Plexus Archiver
1. Сделайте Jar исполняемым
Определитеmaven-jar-plugin
вpom.xml
и настройте файл манифеста с помощью тега конфигурации.
pom.xml
org.apache.maven.plugins maven-jar-plugin 2.4 com.example.core.App
Будет создан следующий файл манифеста. Если вы запустите этот Jar, он выполнитcom.example.core.App
.
meta-inf/manifest.mf
anifest-Version: 1.0 Built-By: example Build-Jdk: 1.6.0_35 Created-By: Apache Maven Main-Class: com.example.core.App Archiver-Version: Plexus Archiver
2. Добавить путь к классам зависимостей проекта.
Большинству проектов Java требуется зависимость, и ее можно легко определить в файле манифеста. Обычно вы используетеmaven-dependency-plugin
для копирования зависимостей проекта в другое место.
pom.xml
org.apache.maven.plugins maven-jar-plugin 2.4 true com.example.core.App dependency-jars/ org.apache.maven.plugins maven-dependency-plugin 2.5.1 copy-dependencies package copy-dependencies ${project.build.directory}/dependency-jars/
Будет создан следующий файл манифеста. Зависимости проекта будут скопированы в{project}/target/dependency-jars/
.
meta-inf/manifest.mf
manifest-Version: 1.0 Built-By: example Build-Jdk: 1.6.0_35 Class-Path: dependency-jars/log4j-1.2.17.jar Created-By: Apache Maven Main-Class: com.example.core.App Archiver-Version: Plexus Archiver
Скачать исходный код
Скачать -Generate-Manifest-Using-Maven.zip (7 КБ).