Source: guice Version: 4.2.1-1 Severity: normal The 'no_aop' variant of guice (without the embedded cglib) isn't installed by the libguice-java package, instead a symlink to the 'aop' jar is installed. This was mostly done to reduce the size of the package. Since the aop variant is a superset of the no_aop one [1], that was fine.
Unfortunately the modules introduced in Java 9 don't play well with cglib [2], and using the aop variant triggers a warning on the console. This is especially annoying with Maven, the following warning is displayed on each invocation: WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective Maven upstream depends on the 'no_aop' variant and isn't affected by this warning. Packaging the 'no_aop' variant could address this issue. It could be placed into it's own libguice-noaop-java package, this would save ~400KB when installing Maven. Emmanuel Bourg [1] https://github.com/google/guice/wiki/OptionalAOP [2] https://github.com/cglib/cglib/issues/129