{"id":13485788,"url":"https://github.com/brianm/really-executable-jars-maven-plugin","last_synced_at":"2025-03-27T19:31:44.997Z","repository":{"id":1709607,"uuid":"2438958","full_name":"brianm/really-executable-jars-maven-plugin","owner":"brianm","description":"maven plugin for making chmod +x jar files","archived":false,"fork":false,"pushed_at":"2023-11-01T21:06:42.000Z","size":123,"stargazers_count":125,"open_issues_count":1,"forks_count":27,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-10-30T20:45:47.764Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brianm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2011-09-22T18:01:55.000Z","updated_at":"2024-09-10T15:52:01.000Z","dependencies_parsed_at":"2024-01-03T01:20:53.039Z","dependency_job_id":"07a72daf-674a-4e0f-a4c0-296c906eb252","html_url":"https://github.com/brianm/really-executable-jars-maven-plugin","commit_stats":{"total_commits":88,"total_committers":15,"mean_commits":5.866666666666666,"dds":0.6590909090909092,"last_synced_commit":"1b114287de1e1d5599dc4402a0f181c6adc25900"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brianm%2Freally-executable-jars-maven-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brianm%2Freally-executable-jars-maven-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brianm%2Freally-executable-jars-maven-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brianm%2Freally-executable-jars-maven-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brianm","download_url":"https://codeload.github.com/brianm/really-executable-jars-maven-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245910901,"owners_count":20692515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T18:00:31.777Z","updated_at":"2025-03-27T19:31:44.586Z","avatar_url":"https://github.com/brianm.png","language":"Java","readme":"# really-executable-jar-maven-plugin\n\n[![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/)\n\n## Usage\n\nThere is an introductory blog post at http://skife.org/java/unix/2011/06/20/really_executable_jars.html\n\nTo use:\n\n1. 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. \n2. Add this plugin to your build to make the JAR directly executable. All configuration parameters are optional; the defaults should work for many cases.\n\n```xml\n\u003cplugin\u003e\n  \u003cgroupId\u003eorg.skife.maven\u003c/groupId\u003e\n  \u003cartifactId\u003ereally-executable-jar-maven-plugin\u003c/artifactId\u003e\n  \u003cversion\u003e2.1.1\u003c/version\u003e\n  \u003cconfiguration\u003e\n    \u003c!-- (optional) flags to be interpolated into the java invocation --\u003e\n    \u003c!-- as \"java $flags -jar ...\" --\u003e\n    \u003cflags\u003e-Xmx1G\u003c/flags\u003e\n    \n    \u003c!-- (optional) input file name: only this specific file will be made executable --\u003e\n    \u003cinputFile\u003etarget/fooBla.jar\u003c/inputFile\u003e\n    \n    \u003c!-- (optional) classifier name: only artifacts with this classifier are made executable --\u003e\n    \u003cclassifier\u003eshaded\u003c/classifier\u003e\n\n    \u003c!-- (optional) support other packaging formats than jar --\u003e\n    \u003callowOtherTypes\u003etrue\u003c/allowOtherTypes\u003e\n\n    \u003c!-- (optional) name for a new binary executable, if not set will just\n         make the original artifact executable --\u003e\n    \u003cprogramFile\u003enifty-executable\u003c/programFile\u003e\n    \n    \u003c!-- (optional) name for a file that will define what script gets\n         embedded into the executable jar.  This can be used to\n         override the default startup script which is\n         `#!/bin/sh\n         \n         exec java \" + flags + \" -jar \"$0\" \"$@\" --\u003e\n    \u003cscriptFile\u003esrc/packaging/someScript.extension\u003c/scriptFile\u003e\n  \u003c/configuration\u003e\n  \u003cexecutions\u003e\n    \u003cexecution\u003e\n      \u003cphase\u003epackage\u003c/phase\u003e\n      \u003cgoals\u003e\n        \u003cgoal\u003ereally-executable-jar\u003c/goal\u003e\n      \u003c/goals\u003e\n    \u003c/execution\u003e\n  \u003c/executions\u003e\n\u003c/plugin\u003e\n```\n\n## Changes\n\n2.1.1 \n- Overwrite existing files (@dkfellows)\n\n2.1.0\n- use zip-prefixer instead of rebuilding JAR (@klausbrunner)\n- improve handling of multi-artifact builds (@klausbrunner)\n- add inputFile parameter to select any file (@klausbrunner)\n- add basic integration testing (@klausbrunner)\n- require JDK 11+ to build (plugin still targets JDK 8) \n\n2.0.0 \n- support ZIP64 format\n- require Java 8, drop support for JDK7\n- support packaging other file formats than jars\n\n1.4.0 \n- require Java 7, change code to use JDK7 APIs\n- Support Windows\n- Don't suppress errors\n\n1.3.0 \n- add helpmojo\n- allow attachment of executable instead of unconditional replacement\n- make extension configurable\n- allow script replacement in the resulting executable\n\n1.2.0 \n- never released\n\n1.1.0 \n- If programFile is set, do not make the base artifact (the .jar) executable, just the programFile one.\n\n1.0.0 \n- Stable\n\n\n","funding_links":[],"categories":["Projects","项目"],"sub_categories":["Distribution","分布"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrianm%2Freally-executable-jars-maven-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrianm%2Freally-executable-jars-maven-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrianm%2Freally-executable-jars-maven-plugin/lists"}