Как создать файл манифеста с 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 КБ).