jPackageMavenPlugin

A Maven Plugin to patch all non-modular dependencies and runs jpackage (JDK 14)

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

de.fluxparticle
ArtifactId

ArtifactId

jpackage-maven-plugin
Last Version

Last Version

0.0.2
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

jPackageMavenPlugin
A Maven Plugin to patch all non-modular dependencies and runs jpackage (JDK 14)
Project URL

Project URL

https://github.com/FLUXparticle/jPackageMavenPlugin
Source Code Management

Source Code Management

https://github.com/FLUXparticle/jPackageMavenPlugin

Download jpackage-maven-plugin

How to add to project

<plugin>
    <groupId>de.fluxparticle</groupId>
    <artifactId>jpackage-maven-plugin</artifactId>
    <version>0.0.2</version>
</plugin>

Dependencies

compile (6)

Group / Artifact Type Version
com.github.javaparser : javaparser-core jar 3.15.17
org.ow2.asm : asm jar 8.0.1
org.apache.maven : maven-core jar 3.0
org.apache.maven : maven-plugin-api jar 3.0
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.0
org.apache.maven.shared : maven-artifact-transfer jar 0.11.0

test (1)

Group / Artifact Type Version
org.apache.maven : maven-compat jar 3.0

Project Modules

There are no modules declared in this project.

jPackageMavenPlugin

This Maven Plugin patches all non-modular dependencies of your project and runs jpackage (JDK 14) to build a platform specific Runtime Image

This project is in a very early state. It does what "I need it to do" (building an App Bundle on macOS) but maybe it is also helpful for someone else. If you miss a feature feel free to issue a feature request.

jdeps is used to analyse all your dependencies and fix all non-modular artifacts so jlink can build a minimal Java Runtime.

Since jpackage is only available since JDK 14 you need to run Maven with JDK 14 (or above). You don't need to compile your project with JDK 14.

To use it just add this to your pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>de.fluxparticle</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <version>0.0.2</version>
            <configuration>
                <name>${image.name}</name>
                <mainClass>${module.name}/${main.class}</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

You can build a Runtime Image with:

mvn jpackage:image

Versions

Version
0.0.2
0.0.1