是否可以通过Jigsaw在Java 9中通过反射访问包范围的方法?

梅杰

我有以下代码URLStreamHandlers通过访问静态包范围的方法来检索Java和Java 8中可用的http和https的默认值URL.getURLStreamHandler()

private URLStreamHandler getURLStreamHandler(String protocol) {
    try {
        Method method = URL.class.getDeclaredMethod("getURLStreamHandler", String.class);
        method.setAccessible(true);
        return (URLStreamHandler) method.invoke(null, protocol);
    } catch (Exception e) {
        logger.warning("could not access URL.getUrlStreamHandler");
        return null;
    }
}

在带有竖锯的Java 9中这是否仍然可能还是会禁止以这种方式修改可见性?

尼古拉·帕洛格(Nicolai Parlog)

在早期的原型中它曾经是可能的,但现在已经不存在了。拼图的可访问性规则现在仅限制对public元素(类型,方法,字段)的访问。

在您的示例中,对的调用method.setAccessible(true)将失败,并显示类似以下消息:

java.lang.reflect.InaccessibleObjectException:无法使getURLStreamHandler可访问:模块java ....不会“打开java ..”到未命名的模块@ 1941a8ff

有关如何解决此问题的信息请参见此问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

在Java 9中是否可以通过模块名称获得服务?

来自分类Java

是否可以通过JAVA命名Android的视图?

来自分类Dev

是否可以通过Java编程方式更改词法范围?

来自分类Dev

在Java中,是否可以通过反射找出集合getter的通用类型?

来自分类Java

是否可以通过反射来调用私有属性或方法

来自分类Java

Java:通过反射访问对象的bean类型方法

来自分类Java

通过反射访问Java中的私有变量

来自分类Java

通过Java中的反射访问私有继承的字段

来自分类Dev

是否可以通过Java中的代码跟踪smtp主机?

来自分类Dev

是否可以通过Java反射对检索到的类进行子类化

来自分类Java

是否可以通过JMX以编程方式关闭Java进程

来自分类Dev

是否可以通过Java程序远程执行命令(ssh)

来自分类Dev

是否可以通过JPA(JAVA)调用存储的函数?

来自分类Dev

是否可以通过类方法访问实例方法和变量

来自分类Java

在Java中可以“反射地”访问方法的源代码吗?

来自分类Java

java通过反射访问Integer构造函数

来自分类Java

Java:无法通过反射访问注释

来自分类Dev

是否可以通过反射确定方法参数是否为最终参数?

来自分类Dev

是否可以通过SSH访问Github Wiki?

来自分类Dev

检查是否可以通过www访问网站

来自分类Dev

是否可以通过URL访问HTTPPOST?

来自分类Dev

是否可以通过PyGithub访问“发布”标签?

来自分类Dev

是否可以通过NSPersistentCloudKitContainer访问creationDate?

来自分类Dev

是否可以通过WatchKit访问触觉反馈?

来自分类Dev

是否可以通过API访问OpenWhisk日志?

来自分类Dev

是否可以通过WebUSB访问android配件?

来自分类Java

是否可以通过注释实现方法级别的访问检查?

来自分类Dev

Java:通过功能界面中的反射调用方法

来自分类Java

通过反射创建对象时,如何覆盖Java中的方法?

Related 相关文章

  1. 1

    在Java 9中是否可以通过模块名称获得服务?

  2. 2

    是否可以通过JAVA命名Android的视图?

  3. 3

    是否可以通过Java编程方式更改词法范围?

  4. 4

    在Java中,是否可以通过反射找出集合getter的通用类型?

  5. 5

    是否可以通过反射来调用私有属性或方法

  6. 6

    Java:通过反射访问对象的bean类型方法

  7. 7

    通过反射访问Java中的私有变量

  8. 8

    通过Java中的反射访问私有继承的字段

  9. 9

    是否可以通过Java中的代码跟踪smtp主机?

  10. 10

    是否可以通过Java反射对检索到的类进行子类化

  11. 11

    是否可以通过JMX以编程方式关闭Java进程

  12. 12

    是否可以通过Java程序远程执行命令(ssh)

  13. 13

    是否可以通过JPA(JAVA)调用存储的函数?

  14. 14

    是否可以通过类方法访问实例方法和变量

  15. 15

    在Java中可以“反射地”访问方法的源代码吗?

  16. 16

    java通过反射访问Integer构造函数

  17. 17

    Java:无法通过反射访问注释

  18. 18

    是否可以通过反射确定方法参数是否为最终参数?

  19. 19

    是否可以通过SSH访问Github Wiki?

  20. 20

    检查是否可以通过www访问网站

  21. 21

    是否可以通过URL访问HTTPPOST?

  22. 22

    是否可以通过PyGithub访问“发布”标签?

  23. 23

    是否可以通过NSPersistentCloudKitContainer访问creationDate?

  24. 24

    是否可以通过WatchKit访问触觉反馈?

  25. 25

    是否可以通过API访问OpenWhisk日志?

  26. 26

    是否可以通过WebUSB访问android配件?

  27. 27

    是否可以通过注释实现方法级别的访问检查?

  28. 28

    Java:通过功能界面中的反射调用方法

  29. 29

    通过反射创建对象时,如何覆盖Java中的方法?

热门标签

归档