I would say that if Project B acts as a “universal parent” or something like what is the starting point for many projects with the same dependencies (or with the same starting point for their dependencies), then go straight ahead and do B parent .
Otherwise, if in fact it is more likely a “convenient thing”, for example, she received methods like “utilities / main type”, which many projects find useful , but do not rely on their existence , then this is logically dependent.
You can even consider splitting Project B into two along these lines. This is what I have done in the past:
mygroup-parent is a project consisting entirely of a POM file with dependencies, which I want so that every project can get a standard approach. For example, I have TestNG and Mockito .
mygroup-core is a full-fledged Java project in which there are useful things that are often used, but are not required. I have helper methods for things specific to my site and for dependencies like Apache HttpClient and Google Guava .
source share