Fixed
Details
Assignee
Steve EbersoleSteve EbersoleReporter
Steve EbersoleSteve EbersoleSprint
NoneFix versions
Priority
Major
Details
Details
Assignee
Steve Ebersole
Steve EbersoleReporter
Steve Ebersole
Steve EbersoleSprint
None
Fix versions
Priority
Created October 26, 2023 at 3:17 PM
Updated December 19, 2023 at 11:40 AM
Resolved November 17, 2023 at 2:14 PM
To be clear, this is to address a short-coming in Maven in terms of how it handles annotation processors that simply is not an issue in Gradle (which has first-class support for javac’s processorpath).
Starting in 6.3, hibernate-jpamodelgen defines some implementation dependencies.
When integrated TheRightWay into Gradle, users have no problem -
You can do “the same” in Maven albeit in a way fulgier syntax and without the ability to apply a platform (BOM) -
Unfortunately, what is easier in Maven is TheWrongWay, simply adding jpamodelgen as a normal compile or provided scope dependency. In either case, jpamodelgen’s implementation (runtime) scoped dependencies won’t be transitively added to the project’s compile classpath for the annotation processor to have access to them.
There is a large debate as to why this is wrong. Bottom line is that it can lead to leaking unwanted dependencies onto the project’s compile classpth.
To help here, we could consider making those dependencies api which translates to Maven’s compile scope which would then be transitively added to the project’s compile classpath.