Apache Maven

Thursday March 08, 2018

Apache Maven Version 3.5.3 Released

Release Notes – Maven 3.5.3

The Apache Maven team would like to announce the release of Maven 3.5.3

Maven 3.5.3 is available for download.

Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central place.

The core release is independent of the plugins available. Further releases of plugins will be made separately. See the PluginList for more information.

We hope you enjoy using Maven! If you have any questions, please consult:

  • the web site: https://maven.apache.org/
  • the maven-user mailing list: https://maven.apache.org/mail-lists.html
  • the reference documentation: https://maven.apache.org/ref/3.5.3/

Reporters and Contributors of this release

We really value the contributions of these non committers, so this section is focused on those individuals. Descriptions of the issues fixed can be found at the end of these release notes.



Many thanks to all reporters and contributors for their time and support.

Preliminary Testers

Thank you also for your time and feedback.

Known Issues

One new issue was identified during the release testing. This issue affects Windows users. When running Maven with parallel threads, i.e. the -T command line option, Maven may output spurious ANSI escapes such as [0m [0m MNG-6372

Overview about the changes

  • Issues have been fixed related to colorizations like to clean up the situation while interrupting the build process MNG-6188 and some issues related to Git Bash / Cygwin have been fixed MNG-6282 and the new options -Dstyle.color MNG-6296 has been fixed.

  • The handling CRLF in jvm.config file has been fixed MNG-6255.

  • The wrong usage of the CI friendly version was not correctly identified which has been improved MNG-6305.

  • Wrong encoding of non-ascii filenames has been fixed MNG-6320.

  • Deadlock in dependency resolution has been fixed MNG-6323.

  • A regression related to parents relativePath verification has been fixed MNG-6330.

So now some more interesting things about new (small) features:

  • The log output contains now some progress informations related to the number of modules which looks like this MNG-6302:
[INFO] Building parent 5.0.1-SNAPSHOT                                     [1/9]

The number 1 is the current number which is being built where the 9 in this case is the number of modules which have to be built overall. So we are in module 1 of 9.

Furthermore the information about the packaging type and the groupId/artifactId are now being shown during the build like the following MNG-6308:

[INFO] ------------------< com.soebes.examples.j2ee:parent >-------------------
[INFO] Building parent 5.0.1-SNAPSHOT                                     [1/9]
[INFO] --------------------------------[ pom ]---------------------------------

And finally we have added the version of the modules or the reactor at the end of the build MNG-6352:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] parent 5.0.1-SNAPSHOT .............................. SUCCESS [  0.238 s]
[INFO] domain ............................................. SUCCESS [  0.014 s]
[INFO] service-client ..................................... SUCCESS [  0.008 s]
[INFO] webgui ............................................. SUCCESS [  0.010 s]
[INFO] service ............................................ SUCCESS [  0.007 s]
[INFO] app ................................................ SUCCESS [  0.005 s]
[INFO] appasm ............................................. SUCCESS [  0.005 s]
[INFO] shade .............................................. SUCCESS [  0.006 s]
[INFO] assembly 5.0.1-SNAPSHOT ............................ SUCCESS [  0.005 s]
[INFO] ------------------------------------------------------------------------

This can be helpful if you have a large number of modules to get the information about the version being built. This meant in the past to scroll up to the last module and look there for the version. Now this can simply being seen at the end of build. If you have a multi module build where the number is the same for all modules it will be given only on the first line and the last line. If you have an aggregator build the version will be printed out for each project.

  • One more thing has been optimized. We have removed the System.gc() call at the end of the build because this can cause costs for example on AWS systems related to the time taken to run Garbage Collection which is not really necessary MNG-6340. This means also the resulting output will change a little bit like this:
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.111 s
[INFO] Finished at: 2018-02-25T15:34:10+01:00
[INFO] ------------------------------------------------------------------------

So there is no line anymore telling you about memory stuff.

  • If you have used the deprecated version markers like RELEASE or LATEST this will now produce a WARNING during the build MNG-6342.

The detailed issue list


  • MNG-6188 - Console color not properly reset when interrupting build process
  • MNG-6255 - Maven script cannot parse jvm.config with CRLF
  • MNG-6282 - Console output has no colors in shell (both Git Bash and Cygwin) (regression in Jansi 1.16 / Maven 3.5.1)
  • MNG-6296 - New option -Dstyle.color is not working
  • MNG-6298 - 3.5.2: ClassNotFoundException: javax.annotation.security.RolesAllowed
  • MNG-6300 - Multi module release creates empty directories in war file instead of jars
  • MNG-6305 - Validation of CI friendly version incorrect
  • MNG-6320 - Apparently wrong encoding of non-ascii java class filename in error messages in the maven log
  • MNG-6323 - Deadlock in multithreaded dependency resolution
  • MNG-6330 - (regression) Parents relativePath not verified anymore

New Feature

  • MNG-6302 - Provide some “progress” hints


  • MNG-5992 - Git passwords are exposed as the Super POM still uses Maven Release Plugin 2.3.2
  • MNG-6306 - Replace use of Guava in maven-resolver-provider with a lighter weight alternative
  • MNG-6308 - display packaging & groupId:artifactId when building a module
  • MNG-6332 - Cleaned up mvn.cmd Script
  • MNG-6340 - (Performance) To make System.gc() call configurable in target summary code
  • MNG-6342 - Emit a WARNING about LATEST/RELEASE in parent
  • MNG-6352 - Printout version information at the end of the build


  • MNG-6331 - Remove maven-bundle-pugin from build pluginManagement

Dependency upgrade

  • MNG-6312 - Update Maven Wagon dependency
  • MNG-6335 - Update test framework Mockito from 1.10 to 2.12
  • MNG-6353 - Upgrade maven-shared-utils to 3.2.1

The full list of changes can be found in our issue management system.

Complete Release Notes

See complete release notes for all versions

Tuesday March 06, 2018

Apache Maven Surefire Plugin Version 2.21.0 Released

The Apache Maven team is pleased to announce the release of the Apache Maven Surefire Plugin, version 2.21.0.

The release contains 33 bug fixes. Again we received contributions from the community in form of bug reports and bug fixes. Thank you and keep them coming!

You should specify the version in your project’s plugin configuration:


or for failsafe:


or for surefire-report:


Release Notes – Maven Surefire – Version 2.21.0


  • SUREFIRE-1372 – Rerunning failing tests fails in combination with Description#createSuiteDescription
  • SUREFIRE-1422 – Forking fails on Linux if /bin/ps isn’t available
  • SUREFIRE-1424 – javax.transaction.TransactionManager not visible with Java9
  • SUREFIRE-1439 – NullPointerException on JDK10
  • SUREFIRE-1443 – surefire report: broken links with inner classes
  • SUREFIRE-1445 – Properties from configuration POM are not passed to Provider on JDK 9
  • SUREFIRE-1450 – TestNG Listener aren’t working from Property Tag in POM.xml With JDK9
  • SUREFIRE-1451 – Surefire Booter compatibility with NetBSD ps(1) output
  • SUREFIRE-1452 – Support filtering of tests from Base Class (TestNG)
  • SUREFIRE-1475 – PpidChecker.windows() assumes wmic is on the path


  • SUREFIRE-1183 – Custom Test Report Titles and Descriptions
  • SUREFIRE-1262 – Add modulepath support
  • SUREFIRE-1416 – maven-surefire-parser: add new method isError in ReportTestCase
  • SUREFIRE-1435 – Improve Thread Dump. Use prefix “surefire-forkedjvm” in daemon Threads in forked JVM
  • SUREFIRE-1448 – Clarified specifying multiple categories for JUnit
  • SUREFIRE-1453 – Allow to specify non existant classes as “groups”
  • SUREFIRE-1454 – Speedup Standard Output if Tests
  • SUREFIRE-1491 – LocationManager injected in MOJO unables plugin to run in JDK 1.6


  • SUREFIRE-1437 – Improve unit tests. Call PID parser on all platforms in SystemUtilsTest.



  • SUREFIRE-1455 – JaCoCo on integration tests
  • SUREFIRE-1461 – UnicodeTestNamesIT should be able to run multiple times
  • SUREFIRE-1463 – integration tests should run on the top of JDK 9
  • SUREFIRE-1471 – Too long Windows path cause CI issues. Renamed surefire-intergation-tests to surefire-its.
  • SUREFIRE-1472 – Multibranch Pipeline supports JDK 7-10 Maven 3.2-3.5 Linux Windows
  • SUREFIRE-1481 – Surefire1295AttributeJvmCrashesToTestsIT should be Parameterized test instead of using Theories runner
  • SUREFIRE-1482 – Obsolete workaround with commons-lang3 in project unit tests
  • SUREFIRE-1484 – maven-clean-plugin should be used in integration test resource junit-pathWithUmlaut
  • SUREFIRE-1485 – surefire-shadefire project should not be deployed in Maven Central
  • SUREFIRE-1486 – maven-failsafe-plugin does not use JUnit adapter for JUnit4 annotations and TestNG providers do not have maven-surefire-plugin config in POM
  • SUREFIRE-1488 – Native library in Surefire1295AttributeJvmCrashesToTestsIT caused unstable test
  • SUREFIRE-1489 – Implement different HTTP ports in ITs and zip() in jenkinsfile

Dependency upgrade:

SUREFIRE-1434 – Upgrade PowerMock@Java9 to Version 2.0.0-beta.5


-The Apache Maven team

Thursday March 01, 2018

Apache Maven JDeps Plugin, version 3.1.1

The Apache Maven team is pleased to announce the release of the Apache Maven JDeps Plugin, version 3.1.1.

The JDeps Plugin uses the jdeps tool to analyze classes for internal API calls. For more information about the standard jdeps tool, please refer to https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool

You should specify the version in your project’s plugin configuration:


You can download the appropriate sources etc. from the download page..

Release Notes Maven JDeps Plugin Release Notes Version 3.1.1


  • MJDEPS-10 – Error: unknown option: -M while using module option of maven-jdeps-plugin

New Features:

  • MJDEPS-9 – Introduce failOnWarning as a named property
  • MJDEPS-11 – Introduce —multi-release option


  • MJDEPS-12 – Add support for the ‘-package’ options

Dependency upgrade:

  • MJDEPS-8 – Upgrade plexus-utils to version 3.1.0
  • MJDEPS-13 – Upgrade parent to 31


-The Apache Maven team

Tuesday February 20, 2018

Apache Maven Resolver, Version 1.1.1 Released

The Apache Maven team is pleased to announce the release of the Apache Maven Resolver, version 1.1.1

Apache Maven Artifact Resolver is a library for working with artifact repositories and dependency resolution.

Maven Artifact Resolver deals with the specification of local repository, remote repository, developer workspaces, artifact transports and artifact resolution.

It is expected to be extended by concrete repository implementation, like Maven Artifact Resolver Provider for Maven repositories or any other provider for other repository formats.

You can download the appropriate sources etc. from the download page


Release Notes – Maven Resolver – Version Maven Artifact Resolver 1.1.1



Dependency upgrade:

  • MRESOLVER-34 – Update dependencies and plugins to latest versions


-The Apache Maven team



Hot Blogs (today's hits)

Tag Cloud