Jaxb-runtime transitive dependencies are ignored when building a Maven project on JDK11 with a dependency to Hibernate ORM

Description

Somehow, the POM for jaxb-runtime is considered invalid, but only if you run Maven with JDK11. As a result, attempting to build a project that depends on Hibernate ORM will produce the following warning:

... which is obviously a big deal, because ORM does rely on these transitive dependencies (among which jaxb-core).

In practice, the application may work fine, dependening on how it is booted. In Hibernate Search, all of our tests pass, except the ones using Envers. But then we don't really start Hibernate ORM like a real application would (we skip some steps) so maybe application are more affected by this bug than Hibernate Search.

Regarding why the POM for jaxb-runtime is considered invalid, this demonstrates the problem (you need to use JAVA10 or above for the problem to appear):

Upgrading to the very next version, 2.3.0-b170127.1453, seems to fix the problem. But we've had trouble in the past with using newer versions of JAXB in ORM, in particular in an OSGi environment...

Environment

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T20:33:14+02:00)
Same goes with the latest, Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47+02:00)
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

Status

Assignee

Yoann Rodière

Reporter

Yoann Rodière

Fix versions

Labels

None

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

backportDecision

None

Components

Priority

Major
Configure