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:

升级我的所有依赖项并使用 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 路径的一部分。