Skip to content

Как создать исполняемый jar файл

Синопсис

Создание jar файла с помощью Maven инструмента

Проект будет состоять из одного класса:

executable-jar
    ├──src
    │   └─main
    │       └─java
    │           └─com
    │               └─devblogs
    │                  └─App.java
    └──pom.xml

App.java

package com.devblogs;

public class App {
	public static void main(String[] args) {
		System.out.println("Run executable jar file");
	}
}

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.devblogs</groupId>
	<artifactId>executable-jar</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>executable-jar</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>					
					<archive>
						<manifest>
							<!-- Jar file entry point -->
							<mainClass>com.devblogs.App</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>
		</plugins>
	</build>
	
</project>

Сборка и запуск

Собираем проект с помощью команды mvn package:

mvn package

После этого появится каталог target в котором будет находится jar-файл executable-jar-0.0.1-SNAPSHOT.jar
Перейдем в этот каталог и запустим джарник:

cd target
java -jar executable-jar-0.0.1-SNAPSHOT.jar
Run executable jar file

Струтура jar файла

После сборки структура джарника примет такой вид:

executable-jar-0.0.1-SNAPSHOT.jar
    ├─com
    │   └─devblogs
    │       └─App.java
    └──META-INF
        ├─maven
        │   └─com.devblogs
        │       └─executable-jar
        │           ├─pom.properties
        │           └─pom.xml
        └─MANIFEST.MF

Нас интерисует файл MANIFEST.MF который лежит в каталоге META-INF. Манифест содержит метадату джарника, содержимое манифеста выглядит так:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: ievgenii.mitiguz
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_66-u66
Main-Class: com.devblogs.App

Поделиться в социальных сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *