Hi All,

It seems that my question has an obvious answer. Unfortunately googling didn't give me a good one.

Prerequisites:

I have a classical multi-module project. The root POM declares two modules: 'api' and 'impl'.
These modules have references to the parent.
The module 'api' contains definition of an interface.
The module 'impl' has dependency on 'api' and a class which implements the interface.

Issue:

In the top directory I run a reactor build:

[First build]
$ mvn clean compile

The build finished with success.
Then I made changes in the interface declaration in the module 'api' (added a new method) and run build again:

[Second build]
$ mvn compile

The build finished with success again. It is strange because I expected that build finished with failure because class in the module 'impl' had no implementation of the method just added to the interface.
When I run build with command:

[Third build]
$ mvn clean compile

It finished, as I expected, with failure.

Question:

Why Maven didn't complain on second build?


Thanks for your help,

Dmitry

Reply via email to