Weld's org.jboss.weld.util.reflection.Formats uses JDK's internal BCEL classes.
This yield illegal access on JDK 9+.
The only purpose of this class is to provide more information about line on which a problem occurred in bytecode. And even with this, the functionality is limited.
Best way to handle this will be adding an optional dependency on BCEL classes as a Maven artifact.