Hi all,
When you run a main class which contains an invalid bytecode sequence using the 
class-path you get:

/usr/jdk/jdk-13/bin/java --enable-preview --class-path 
target/main/artifact/fr.umlv.lazystaticfinal-1.0.jar 
fr.umlv.lazystaticfinal.Main
Error: Unable to initialize main class fr.umlv.lazystaticfinal.Main
Caused by: java.lang.VerifyError: Method expects a return value
Exception Details:
  Location:
    fr/umlv/lazystaticfinal/Main.HOME_lazy()Ljava/nio/file/Path; @2: return
  Reason:
    Error exists in the bytecode
  Bytecode:
    0000000: 1241 b1                                

if you run the same code using the module-path, you get

/usr/jdk/jdk-13/bin/java --enable-preview --module-path target/main/artifact -m 
fr.umlv.lazystaticfinal
Error occurred during initialization of boot layer
java.lang.module.FindException: Module org.objectweb.asm.util not found, 
required by fr.umlv.lazystaticfinal

the exception details corresponding to the VerifyError are not printed making 
the issue hard to debug.

regards,
Rémi

Reply via email to