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