On 22/06/2020 18:15, Alex Orlov wrote:
Hi Alan,
Thank you very much for your answer. In order to be concrete a test project was created
and it is here https://github.com/PashaTurok/hibernate-h2-test4
Besides, if it is not very difficult for you, could you answer separately to
each questions (# 1 and #2). So, I repeat them again:
1) Is it possible to force JPMS to add modules even if it think that they won’t be used
(by the way — nobody asks it).
2) As I understand this problem doesn’t appear when we create child layer and add any jars to it.
In this case JPMS doesn’t ignore any modules. Is this statement right?

java.lang.NoClassDefFoundError: net/bytebuddy/NamingStrategy$SuffixingRandom$BaseNameResolver     at org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:345) ~[hibernate-core-5.4.15.Final.jar:?]     at org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:337) ~[hibernate-core-5.4.15.Final.jar:?]     at org.hibernate.cfg.Environment.<clinit>(Environment.java:230) ~[hibernate-core-5.4.15.Final.jar:?]

From what I can establish, org.hibernate.orm.core is an automatic module so it doesn't have any way to `requires net.bytebuddy` (an explicit module). You'll have to help out by adding `--add-modules net.bytebuddy` to the command line that surefire or failsafe uses.

I can't explain why you don't see issues when you use module layers. It is possible that you've specified "net.bytebuddy" in the list of root modules that you specify to the resolve method?

-Alan

Reply via email to