问题描述
JDK 11(第9井)不再允许我将新类放入java.net
包中(这是扩展那里现有的类以获得包私有成员访问权限所必需的)。
我该如何实现?
解决方法
我刚刚发现这是不可能的:
我稍稍更改了代码,并在JDK 8下构建了该代码(为此挖掘了一个古老的Debian oldstable系统),但是随后在运行时使用JRE 8失败了:
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.net
Turns out不允许访问JVM“内部”。甚至没有useful,and presumably permittable,extensions with a ready-made API for them。
(我在Android上也做过同样的工作,并且在使用了反射的情况下,它在那里工作了……主要是……所以我认为它在OpenJDK中会更好,但是……显然没有。)