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