Library A is licensed under GPLv3. I want to write a program that uses that library as a dependency (programming against interfaces and using classes in that library), so I have to put my own program under GPLv3 as well, or under GPLv3 with a linking exception.
I also need a second library B which is licensed under the Apache license 2.0, which is compatible with GPLv3 so it is fine to use it with my program.
Library B directly or indirectly depends on library C which is e.g. Eclipse Public License which is compatible with Apache but not compatible with GPLv3.
My question: is it possible to distribute my program like this or would that be a violation of the GPL?
This is all about dependencies of Java libraries on other java libraries as described by Maven. So X depends directly on Y means that the library X lists library Y in their pom file, while X depends indirectly on Y means that X has some library Z in their pom file which in turn has Y in their pom file.