This document describes Maven's classloading architecture: the current state as of Maven 4.0 and the planned improvements for Maven 4.1.
For the original Maven 3.x classloading reference, see Takari's Maven Classloading.
JVM System ClassLoader
This document describes Maven's classloading architecture: the current state as of Maven 4.0 and the planned improvements for Maven 4.1.
For the original Maven 3.x classloading reference, see Takari's Maven Classloading.
JVM System ClassLoader
Warning
This plugin is a Maven 4 plugin and requires Maven 4.x to run.
This release introduces several key improvements, including more robust change detection, a new "attach" configuration parameter, and the ability to add the Java version to the MANIFEST.MF. Users will benefit from enhanced stability through fixes for multi-release JAR detection on Windows, improved handling of invalid Automatic-Module-Name entries, and the decoupling of test-jar skipping from the standard maven.test.skip property. Additionally, the plugin now migrates from Maven Archiver to the standard jar tool and includes logic to skip JAR creation when no files match the specified includes.
This release introduces several important bug fixes, including improved handling of negative epoch timestamps and better sanitization of invalid Automatic-Module-Name and manifest entry values. We have addressed multiple NullPointerExceptions related to manifest configurations and plugin maps to improve overall stability. Additionally, this version includes performance optimizations, such as caching model results and reducing redundant pattern compilation, alongside updated documentation regarding null-value behavior in manifest methods.
| #!/usr/bin/env python3 | |
| """ | |
| Generic Maven shared-component / plugin release wizard. | |
| Interactive (default): | |
| python3 maven-release.py | |
| Non-interactive (CI / scripting): | |
| python3 maven-release.py --no-tty --project maven-archiver --version 4.0.0-beta-6 --all | |
| python3 maven-release.py --no-tty --project maven-jar-plugin --version 4.0.0-beta-2 --step 0-prereqs |
Warning
This plugin is a Maven 4 plugin and requires Maven 4.x to run.
This release brings 7 new parameters to maven-resources-plugin 4.x, exposing capabilities from the companion maven-filtering 4.0.0-beta-2 release: per-resource nonFilteredFiles glob exclusions, graceful binary handling, per-resource ChangeDetection strategy for incremental builds, failOnMissingFilterValue to catch unresolved filter tokens, and outputEncoding for encoding conversion. It also adds 1 bug fix and extensive documentation improvements.
This release brings significant new capabilities to maven-filtering 4.x, including glob pattern support in filter file paths, a ChangeDetection strategy for incremental builds, per-resource encoding conversion, binary file protection via nonFilteredFiles exclusions and graceful binary handling, and a new failOnMissingFilterValue option to catch unresolved tokens at build time. It also ships 16 bug fixes — covering Windows path normalization, symlink handling, delimiter edge cases, and sensitive property masking in debug logs.
Staging repository: https://repository.apache.org/content/repositories/maven-XXXX/ Compare: https://github.com/apache/maven-filtering/compare/maven-filtering-4.0.0-beta-1...maven-filtering-4.0.0-beta-2
This release brings significant new capabilities to maven-filtering 4.x, including glob pattern support in filter file paths, a ChangeDetection strategy for incremental builds, per-resource encoding conversion, binary file protection via nonFilteredFiles exclusions and graceful binary handling, and a new failOnMissingFilterValue option to catch unresolved tokens at build time. It also ships 16 bug fixes — covering Windows path normalization, symlink handling, delimiter edge cases, and sensitive property masking in debug logs. Requires Maven 4.x.
Reviewed code: branch feature/abi-incremental, 3,321 LOC across 15 files in o.a.m.p.compiler.incremental + integration in ToolExecutor (~250 LOC) and AbstractCompilerMojo (~30 LOC).