jigsaw/jake/jdk: Allow illegal access by default
Stephen Felts
stephen.felts at oracle.com
Sat Jun 3 04:11:43 UTC 2017
The latest version of Jigsaw available from http://jdk.java.net/jigsaw/ (jdk-9+172 on 06-02-2017 (#6472)) has
--illegal-access=<value>
permit or deny access to members of types in named modules
by code in unnamed modules.
<value> is one of "deny", "permit", "warn", or "debug"
This option will be removed in a future release.
Note that --permit-illegal-access is removed.
This is what the output looks like. Ironically, this code in the standalone bind implementation jar has fall-back code for running correctly on JDK9.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector (file:/mydirectory/modules/com.sun.xml.bind.jaxb-impl.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Running with java --illegal-access=warn produces the following output.
WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector (file:/mydirectory/modules/com.sun.xml.bind.jaxb-impl.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector (file:/mydirectory/modules/com.sun.xml.bind.jaxb-impl.jar) to method java.lang.ClassLoader.resolveClass(java.lang.Class)
WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector (file:/mydirectory/modules/com.sun.xml.bind.jaxb-impl.jar) to method java.lang.ClassLoader.findLoadedClass(java.lang.String)
There is no quiet option. To get rid of these warnings, you need to explicitly run with java --illegal-access=deny (assuming there are no other illegal access problems).
I would like to see a mechanism that allows the developer to work around the warning.
Either disable the warning for trySetAccessible() or add a new API
if(method.willSetAccessibleWork())
method.setAccessible(true);
-----Original Message-----
From: jigsaw-dev [mailto:jigsaw-dev-bounces at openjdk.java.net] On Behalf Of alan.bateman at oracle.com
Sent: Friday, June 2, 2017 12:36 PM
To: jigsaw-dev at openjdk.java.net
Subject: hg: jigsaw/jake/jdk: Allow illegal access by default
Changeset: 1499c22dfc8b
Author: alanb
Date: 2017-06-02 17:32 +0100
URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1499c22dfc8b
Allow illegal access by default
! src/java.base/share/classes/java/lang/Module.java
! src/java.base/share/classes/java/lang/System.java
! src/java.base/share/classes/java/lang/invoke/MethodHandles.java
! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java
! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java
! src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java
+ src/java.base/share/classes/jdk/internal/module/IllegalAccessMaps.java
! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java
! src/java.base/share/classes/jdk/internal/module/SystemModules.java
+ src/java.base/share/classes/jdk/internal/module/jdk8_packages.dat
! src/java.base/share/classes/sun/launcher/LauncherHelper.java
! src/java.base/share/classes/sun/launcher/resources/launcher.properties
! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java
! test/java/lang/ModuleTests/BasicModuleTest.java
! test/java/lang/instrument/RedefineModuleTest.java
! test/java/lang/reflect/AccessibleObject/CanAccessTest.java
! test/java/lang/reflect/AccessibleObject/ModuleSetAccessibleTest.java
! test/java/lang/reflect/AccessibleObject/TrySetAccessibleTest.java
! test/java/util/ResourceBundle/modules/cache/CacheTest.java
! test/jdk/modules/open/Basic.java
! test/tools/launcher/modules/addexports/manifest/AddExportsAndOpensInManifest.java
+ test/tools/launcher/modules/illegalaccess/IllegalAccessTest.java
+ test/tools/launcher/modules/illegalaccess/TryAccess.java
+ test/tools/launcher/modules/illegalaccess/src/m/module-info.java
+ test/tools/launcher/modules/illegalaccess/src/m/p/Type.java
+ test/tools/launcher/modules/illegalaccess/upgradesrc/java.activation/javax/activation/MimeTypeParameterList.java
+ test/tools/launcher/modules/illegalaccess/upgradesrc/java.activation/module-info.java
! test/tools/launcher/modules/patch/systemmodules/src1/java.base/jdk/internal/modules/SystemModules.java
- test/tools/launcher/modules/permit/AttemptAccess.java
- test/tools/launcher/modules/permit/PermitIllegalAccess.java
More information about the jigsaw-dev
mailing list