Repository navigation
Releases
Releases · mojohaus/exec-maven-plugin
3.7.0
Exec Maven Plugin 3.7.0 raises the minimum Maven version to 3.9.0, adds three long-requested exec:java options, and fixes a batch of old bugs in how commands and Java programs are started. Java 8 is still enough to run it. Builds on Maven 3.6.3 to 3.8.x must stay on 3.6.4.
✨ Highlights
- Maven 3.9.0 or later is required (#548). Older Maven versions fail at startup with a prerequisite error.
classpathDependencyExcludesremoves chosen dependencies from the class path ofexec:javaandexec:exec(#562, requested in #68 by @pramodanarase).mainClassfrom the manifest. WhenexecutableDependencyis set andmainClassis not, theMain-Classattribute of that dependency's manifest is used (#563, #89 by @sewe).keepClassLoaderOpenleaves theexec:javaclass loader open after the program returns, so shutdown hooks and background threads can still load classes (#561, #513 by @tzaeschke).exec:javathreading. The main class runs in a non-daemon bootstrap thread that the plugin waits for, so IDE builds such as m2e no longer interrupt it (#572, #526 by @sbj42). A program's ownUncaughtExceptionHandlernow receives its uncaught exceptions (#569, #141 by @dedeibel).exec:execfixes.asynctogether withoutputFilekeeps the output file open until the process ends (#565, #63 by @tarioch). A relativeexecutableresolves againstworkingDirectoryagain (#567, #92 by @deepakab03). Unquoted line breaks and tabs incommandlineArgscount as spaces instead of creating empty arguments (#571, #466 by @cebaa). A failed command logs its message at error level and keeps the stack trace for-X(#568).- Module path. Resource directories stay off the module path (#560, #534 by @inaldt), and the
%modulepathtoken is handled (#532 by @pzygielo). - Documentation moved from APT to Markdown, and the module path argument file is now documented (#557, #566).
🚨 Removed
- Require Maven 3.9.0 (#548) @slachiewicz
🚀 New features and improvements
- Add keepClassLoaderOpen to exec:java (#561) @slachiewicz
- Add classpathDependencyExcludes (#562) @slachiewicz
- Read mainClass from the executableDependency manifest (#563) @slachiewicz
🐛 Bug Fixes
- Log only the message of a failed command at error level (#568) @slachiewicz
- Pass uncaught exceptions to the handlers of the program (#569) @slachiewicz
- Resolve a relative executable against the working directory (#567) @slachiewicz
- Treat unquoted line breaks and tabs in the arguments as spaces (#571) @slachiewicz
- Run the main class in a non-daemon bootstrap thread (#572) @slachiewicz
- Keep the output file open for asynchronous executions (#565) @slachiewicz
- Keep resource directories off the module path (#560) @slachiewicz
- Handle
%modulepathtoken (#532) @pzygielo
📝 Documentation updates
- Document the module path argument file (#566) @slachiewicz
- Convert the site documents from APT to Markdown (#557) @slachiewicz
- Add AGENTS.md (#552) @slachiewicz
👻 Maintenance
- Ignore JVM option notices in the mexec-86 output check (#564) @slachiewicz
- Declare the Maven artifacts the code uses (#553) @slachiewicz
- Remove redundant mojo.java.target property (#554) @slachiewicz
- Keep Dependabot on Maven 3.9.x (#550) @slachiewicz
- Keep plexus-xml on 3.x in Dependabot (#541) @slachiewicz
🔧 Build
- Resolve the heaviest plugins of setup-parent in the main build (#559) @slachiewicz
- Reuse the cached prefix file in the integration tests (#558) @slachiewicz
- Use the runners' cached Temurin JDKs in CI (#551) @slachiewicz
- Serve the plexus-utils fixture dependency from a mock repository (#549) @slachiewicz
- Assign merged pull requests to the release milestone (#547) @slachiewicz
- Check dependencies monthly and group the updates (#546) @slachiewicz
- Run fewer JDKs on macOS and Windows and the ITs in parallel (#545) @slachiewicz
- Keep Dependabot off Mockito 5 (#543) @slachiewicz
📦 Dependency updates
- Bump the maven group with 4 updates (#555) @dependabot[bot]
- Bump asm.version from 9.10.1 to 9.11 (#544) @dependabot[bot]
- Bump org.codehaus.plexus:plexus-xml from 3.0.1 to 3.1.0 (#542) @dependabot[bot]
- Bump org.codehaus.plexus:plexus-utils from 3.0.24 to 3.6.1 in /src/it/projects/modulepath-from-cli (#539) @dependabot[bot]
- Keep plexus-xml on 3.x in Dependabot (#541) @slachiewicz
Thanks to @pzygielo and @slachiewicz.
3.6.4
📝 Documentation updates
👻 Maintenance
- Ignore Maven Resolver >= 2.0 and SLF4J >= 2.0 in Dependabot (#538) @slachiewicz
- Stop dependabot from updating test fixtures (#535) @slachiewicz
- Add IT using custom plugin repository (#497) @Marcono1234
📦 Dependency updates
14 changes
- Ignore Maven Resolver >= 2.0 and SLF4J >= 2.0 in Dependabot (#538) @slachiewicz
- Bump org.codehaus.plexus:plexus-utils from 3.0.24 to 3.6.1 in /src/it/projects/jigsaw (#537) @dependabot[bot]
- Bump org.codehaus.plexus:plexus-utils from 4.0.3 to 4.1.0 (#536) @dependabot[bot]
- Bump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml from 4 to 5 (#528) @dependabot[bot]
- Bump org.codehaus.mojo:mojo-parent from 96 to 97 (#530) @dependabot[bot]
- Bump org.apache.maven.plugins:maven-toolchains-plugin from 3.2.0 to 3.3.0 (#533) @dependabot[bot]
- Bump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml from 4 to 5 (#529) @dependabot[bot]
- Bump asm.version from 9.10 to 9.10.1 (#525) @dependabot[bot]
- Bump asm.version from 9.9.1 to 9.10 (#524) @dependabot[bot]
- Bump org.codehaus.plexus:plexus-utils from 4.0.2 to 4.0.3 (#516) @dependabot[bot]
- Bump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (#512) @dependabot[bot]
- Bump org.codehaus.mojo:mojo-parent from 95 to 96 (#514) @dependabot[bot]
- Bump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.4.0 to 3.5.0 (#511) @dependabot[bot]
- Bump org.codehaus.mojo:mojo-parent from 94 to 95 (#510) @dependabot[bot]
3.6.3
📝 Documentation updates
- Document thread group isolation limitation in java goal (#503) @copilot-swe-agent[bot]
👻 Maintenance
- JUnit 5 best practices (#505) @slachiewicz
- Move ExecJavaMojoTest, ExecMojoTest to JUnit 5 (#502) @slawekjaranowski
- Add support for JEP 512 for for package-private static main method (#499) @anuragagarwal561994
- Move to JUnit 5 (#501) @slawekjaranowski
📦 Dependency updates
- Bump asm.version from 9.9 to 9.9.1 (#509) @dependabot[bot]
- Bump org.apache.commons:commons-exec from 1.5.0 to 1.6.0 (#508) @dependabot[bot]
3.6.2
🚀 New features and improvements
📦 Dependency updates
- Bump asm.version from 9.8 to 9.9 (#498) @dependabot[bot]
3.6.1
🐛 Bug Fixes
- Revert change from #480 - plugin dependencies must be resolved from plugin repositories (#496) @slawekjaranowski
📦 Dependency updates
- Bump org.codehaus.mojo:mojo-parent from 93 to 94 (#495) @dependabot[bot]
3.6.0
🚀 New features and improvements
- [ExecMojo]Add
getShebangmethod to correctly set the command line executable name (#487) @uchenily - JEP 512 Support (#484) @cayhorstmann
🐛 Bug Fixes
- fix inheritIo option (#488) @dernasherbrezon
- Fix for #479 - Wrong repositories used to collect deps (#480) @cstamas
👻 Maintenance
- Use JSR-330 for component injection (#493) @slawekjaranowski
- Re-run failed tests (#491) @slawekjaranowski
- Restore default matrix build (#486) @slawekjaranowski
📦 Dependency updates
- Use Maven 3.9.11 in dependencies, still requires 3.6.3 as minimum (#492) @slawekjaranowski
- Bump org.codehaus.mojo:mojo-parent from 92 to 93 (#483) @dependabot[bot]
- Bump org.codehaus.mojo:mojo-parent from 91 to 92 (#478) @dependabot[bot]
- Bump org.codehaus.mojo:mojo-parent from 90 to 91 (#477) @dependabot[bot]
- Bump org.codehaus.mojo:mojo-parent from 89 to 90 (#476) @dependabot[bot]
3.5.1
🐛 Bug Fixes
- Add ClassLoader support for ASM ClassWriter (#472) @slawekjaranowski
📦 Dependency updates
- Bump org.codehaus.mojo:mojo-parent from 88 to 89 (#475) @dependabot[bot]
- Bump org.codehaus.mojo:mojo-parent from 87 to 88 (#474) @dependabot[bot]
- Bump org.apache.commons:commons-exec from 1.4.0 to 1.5.0 (#473) @dependabot[bot]
- Bump commons-io:commons-io from 2.7 to 2.14.0 in /src/test/projects/project6/project5lib (#470) @dependabot[bot]
- Bump commons-io:commons-io from 2.7 to 2.14.0 in /src/test/projects/project1 (#468) @dependabot[bot]
- Bump asm.version from 9.7.1 to 9.8 (#467) @dependabot[bot]
- Bump commons-io:commons-io from 2.7 to 2.14.0 in /src/test/projects/project2 (#465) @dependabot[bot]
- Bump commons-io:commons-io from 2.7 to 2.14.0 in /src/test/projects/project14 (#464) @dependabot[bot]
- Bump commons-io:commons-io from 2.7 to 2.14.0 in /src/test/projects/project3 (#463) @dependabot[bot]
- Bump org.codehaus.mojo:mojo-parent from 86 to 87 (#460) @dependabot[bot]
👻 Maintenance
- Fix ITs for Maven 4 rc-3 (#462) @slawekjaranowski
- Document how to use env vars in commandlineArgs (#459) @cpfeiffer
3.5.0
🚀 New features and improvements
- Add toolchain java path to environment variables in ExecMojo (#455) @michalm2000
🐛 Bug Fixes
- #322, enable to control the exec:java interaction with JVM classloader more finely (#337) @rmannibucau
📦 Dependency updates
- Bump org.codehaus.mojo:mojo-parent from 85 to 86 (#445) @dependabot
- Bump commons-io:commons-io from 2.7 to 2.14.0 in /src/it/projects/project6/project5lib (#451) @dependabot
- Bump asm.version from 9.7 to 9.7.1 (#452) @dependabot
- Bump commons-io:commons-io from 2.7 to 2.14.0 in /src/it/projects/setup-parent (#450) @dependabot
- Bump commons-io:commons-io from 2.7 to 2.14.0 in /src/test/projects/project13 (#449) @dependabot
- Bump org.codehaus.plexus:plexus-utils from 4.0.1 to 4.0.2 (#447) @dependabot
👻 Maintenance
- Update site descriptor to 2.0.0 (#457) @slawekjaranowski
- Toolchains manual improvements (#456) @slawekjaranowski
- Manage version of maven-toolchains-plugin (#454) @slawekjaranowski
3.4.1
🐛 Bug Fixes
- Environment variable Path should be used as case-insensitive (#442) @slawekjaranowski
- fix: NPE because declared MavenSession field hides field of superclass (#439) @sebthom
📦 Dependency updates
- Bump org.codehaus.mojo:mojo-parent from 84 to 85 (#441) @dependabot
👻 Maintenance
- Remove redundant spotless configuration (#440) @slawekjaranowski
🔧 Build
- Use Maven4 enabled with GH Action (#443) @slawekjaranowski
- Use shared release drafter GH Action (#444) @slawekjaranowski
3.4.0
🚀 New features and improvements
🐛 Bug Fixes
📦 Dependency updates
- Bump org.codehaus.mojo:mojo-parent from 82 to 84 (#434) @dependabot
- Bump org.codehaus.plexus:plexus-xml from 3.0.0 to 3.0.1 (#431) @dependabot
👻 Maintenance
- Remove Log4j 1.2.x from ITs (#437) @slawekjaranowski
🔧 Build
- Use Maven 3.9.7 and 4.0.0-beta-3 (#433) @slawekjaranowski