Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/brianm/really-executable-jars-maven-plugin

maven plugin for making chmod +x jar files
https://github.com/brianm/really-executable-jars-maven-plugin

Last synced: about 2 months ago
JSON representation

maven plugin for making chmod +x jar files

Awesome Lists containing this project

README

        

# really-executable-jar-maven-plugin

[![Maven](https://img.shields.io/maven-central/v/org.skife.maven/really-executable-jar-maven-plugin)](https://central.sonatype.com/artifact/org.skife.maven/really-executable-jar-maven-plugin/)

## Usage

There is an introductory blog post at http://skife.org/java/unix/2011/06/20/really_executable_jars.html

To use:

1. Make sure you build an "uberjar" with a main class in the MANIFEST. See the [Maven Shade plugin's documentation](https://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html) for one way of doing this.
2. Add this plugin to your build to make the JAR directly executable. All configuration parameters are optional; the defaults should work for many cases.

```xml

org.skife.maven
really-executable-jar-maven-plugin
2.1.1



-Xmx1G


target/fooBla.jar


shaded


true


nifty-executable


src/packaging/someScript.extension



package

really-executable-jar


```

## Changes

2.1.1
- Overwrite existing files (@dkfellows)

2.1.0
- use zip-prefixer instead of rebuilding JAR (@klausbrunner)
- improve handling of multi-artifact builds (@klausbrunner)
- add inputFile parameter to select any file (@klausbrunner)
- add basic integration testing (@klausbrunner)
- require JDK 11+ to build (plugin still targets JDK 8)

2.0.0
- support ZIP64 format
- require Java 8, drop support for JDK7
- support packaging other file formats than jars

1.4.0
- require Java 7, change code to use JDK7 APIs
- Support Windows
- Don't suppress errors

1.3.0
- add helpmojo
- allow attachment of executable instead of unconditional replacement
- make extension configurable
- allow script replacement in the resulting executable

1.2.0
- never released

1.1.0
- If programFile is set, do not make the base artifact (the .jar) executable, just the programFile one.

1.0.0
- Stable