Monday, March 03, 2014

Maven 3.1 and 3.2 are incompatible with 3.0


As title says, Apache Maven 3.1.x and 3.2.x are not compatible with 3.0.x, and this may affect your artifacts.

The main difference is whether or not, the default (compile) scope dependencies in a test, or provided scope dependency will be included in the final artifact, if you know what I mean.

In Maven 3.0, all the compile scope dependencies in test or provided scope dependencies will be included, unless they're overwritten by others in any ways.

In Maven 3.1 and 3.2 however, all the compile scope dependencies in test or provided scope dependencies will NOT be included, unless they overwrite others in any ways.

Personally, I like what Maven 3.1 and 3.2 are doing. Just a heads up you may get hurt by including ugly designed test or provided dependencies.

1 comment:

  1. Thank you for the post Jerry Zhao .
    In Maven 3.1 and 3.2 however, all the compile scope dependencies in test or provided scope dependencies will NOT be included, unless they overwrite others in any ways.
    What does this exactly mean ? Can you explain this with an example ?
    It would be of great help , since I am actually facing problems when i use 3.2.3 for projects which work just fine with 3.0.5

    Thanks again.
    Sabir pasha

    ReplyDelete