MCPcopy Index your code
hub / github.com/brianm/really-executable-jars-maven-plugin

github.com/brianm/really-executable-jars-maven-plugin @really-executable-jar-maven-plugin-2.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release really-executable-jar-maven-plugin-2.1.1 ↗ · + Follow
25 symbols 31 edges 11 files 1 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

really-executable-jar-maven-plugin

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

To use it, add a plugin to your pom like:


<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.4.1</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">



                        <mainClass>com.example.Main</mainClass>
                    </transformer>
                </transformers>
                <createDependencyReducedPom>false</createDependencyReducedPom>
            </configuration>
        </execution>
    </executions>
</plugin>


<plugin>
  <groupId>org.skife.maven</groupId>
  <artifactId>really-executable-jar-maven-plugin</artifactId>
  <version>2.1.0</version>
  <configuration>


    <flags>-Xmx1G</flags>



    <programFile>nifty-executable</programFile>











  </configuration>

  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>really-executable-jar</goal>
      </goals>
    </execution>
  </executions>
</plugin>

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

Core symbols most depended-on inside this repo

shouldProcess
called by 2
src/main/java/org/skife/waffles/ReallyExecutableJarMojo.java
makeExecutable
called by 2
src/main/java/org/skife/waffles/ReallyExecutableJarMojo.java
getPreamble
called by 1
src/main/java/org/skife/waffles/ReallyExecutableJarMojo.java
main
called by 0
src/it/002-withScriptFile/src/main/java/App.java
main
called by 0
src/it/007-programFileAndInputFileSet/src/main/java/App.java
main
called by 0
src/it/001-simple/src/main/java/App.java
main
called by 0
src/it/011-programFileAttached/src/main/java/App.java
main
called by 0
src/it/005-withInputFile/src/main/java/App.java

Shape

Method 14
Class 11

Languages

Java100%

Modules by API surface

src/main/java/org/skife/waffles/ReallyExecutableJarMojo.java5 symbols
src/it/011-programFileAttached/src/main/java/App.java2 symbols
src/it/010-scriptInJar/src/main/java/App.java2 symbols
src/it/008-runStandaloneWithInputFile/src/main/java/App.java2 symbols
src/it/007-programFileAndInputFileSet/src/main/java/App.java2 symbols
src/it/006-programFileButMultipleArtifacts/src/main/java/App.java2 symbols
src/it/005-withInputFile/src/main/java/App.java2 symbols
src/it/004-withClassifier/src/main/java/App.java2 symbols
src/it/003-withFlags/src/main/java/App.java2 symbols
src/it/002-withScriptFile/src/main/java/App.java2 symbols
src/it/001-simple/src/main/java/App.java2 symbols

For agents

$ claude mcp add really-executable-jars-maven-plugin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page