Intellij - 包 'javax.smartcardio' 在模块 'java.smartcardio' 中声明,它不在模块图中,但项目编译正常
Intellij - Package 'javax.smartcardio' is declared in module 'java.smartcardio', which is not in the module graph but the project compiles fine
我正在将一个小型 spring 启动应用程序从 Java 8 升级到 Java 11。该项目使用包 javax.smartcardio
。我正在用 maven 构建它。
pom.xml
基本包含以下dependencies/plugins:
- spring-boot-starter-parent (2.5.6)
- spring-boot-starter-test
- spring-boot-starter-web
- spring-引导自动配置
- pebble-spring-boot-2-starter
- spring-boot-starter-security
- spring-boot-maven-plugin
- maven 资源插件
- maven-assembly-plugin
- exec-maven-插件
升级我的所有依赖项并使用 OpenJDK11 后,项目编译并运行良好 (mvn clean package
)。特别是使用 javax.smartcardio
中的 类 的部分也可以正常工作。
然而,Intellij 以红色突出显示了我所有导入的包 javax.smartcardio.
。将鼠标悬停在上面时,它会告诉我 Intellij - Package 'javax.smartcardio' is declared in module 'java.smartcardio', which is not in the module graph
。 Intellij 建议通过带有 --add-modules java.smartcardio
的编译器选项添加此模块。这样做时,Intellij 会停止突出显示导入。
我现在的问题是,为什么 Intellij 突出显示这些导入,即使一切都在编译并且 运行 还不错?我错过了什么?编译时添加那个模块很重要吗?也许 maven 已经在这方面为我做了一些事情?如果是这样,我应该注意哪一部分?
我读过有关使用 module-info.java
的信息,但得出的结论是使用它来解决我的问题并不是最佳解决方案。另见 Any plans for Java 9 Jigsaw (module) of Spring projects?
这是一个已知问题,请投票给 IDEA-259485 非标准模块不是非模块化模块中 class 路径的一部分。
我正在将一个小型 spring 启动应用程序从 Java 8 升级到 Java 11。该项目使用包 javax.smartcardio
。我正在用 maven 构建它。
pom.xml
基本包含以下dependencies/plugins:
- spring-boot-starter-parent (2.5.6)
- spring-boot-starter-test
- spring-boot-starter-web
- spring-引导自动配置
- pebble-spring-boot-2-starter
- spring-boot-starter-security
- spring-boot-maven-plugin
- maven 资源插件
- maven-assembly-plugin
- exec-maven-插件
升级我的所有依赖项并使用 OpenJDK11 后,项目编译并运行良好 (mvn clean package
)。特别是使用 javax.smartcardio
中的 类 的部分也可以正常工作。
然而,Intellij 以红色突出显示了我所有导入的包 javax.smartcardio.
。将鼠标悬停在上面时,它会告诉我 Intellij - Package 'javax.smartcardio' is declared in module 'java.smartcardio', which is not in the module graph
。 Intellij 建议通过带有 --add-modules java.smartcardio
的编译器选项添加此模块。这样做时,Intellij 会停止突出显示导入。
我现在的问题是,为什么 Intellij 突出显示这些导入,即使一切都在编译并且 运行 还不错?我错过了什么?编译时添加那个模块很重要吗?也许 maven 已经在这方面为我做了一些事情?如果是这样,我应该注意哪一部分?
我读过有关使用 module-info.java
的信息,但得出的结论是使用它来解决我的问题并不是最佳解决方案。另见 Any plans for Java 9 Jigsaw (module) of Spring projects?
这是一个已知问题,请投票给 IDEA-259485 非标准模块不是非模块化模块中 class 路径的一部分。