首页 > 解决方案 > 如何在 Java 中查找模块名和包名

问题描述

目前我遇到了这个问题

WARNING: Illegal reflective access by my-example-class to field 
sun.reflect.annotation.AnnotationInvocationHandler.memberValues

我的理解是我需要添加--add-opens module/package=target-module(,target-module)*

知道字段名称的完整路径,我在哪里可以搜索包名称/模块名称,以便我可以传递给-add-opens标志?

现在我只能猜测--add-opens something/sun.reflect.annotation=ALL-UNNAMED

标签: java

解决方案


要按类获取模块,您可以使用getModule()

Module module = YourClass.getModule();

获取名称 ->

String moduleName = module.getName();

用于this.getClass().getCanonicalName()获取完整的类名。

资源:

getModule的使用方法

关于getModule的 Oracle 文档

getCanonicalName()方法

如何使用getCanonicalName方法


推荐阅读