2

从 Java 9 开始,javax.smartcardio 库发生了什么变化?是否有替代方法或某种方法可以在 JAR 中获取它?

4

2 回答 2

2

在网上搜索了几个小时后,感谢上面的答案,据我了解,Java 9 及更高版本是模块化的,这是几年前计划的语言改进。此外,在新的 Oracle 规则更新后,一些包从 SE 移动到了 EE 版本。

该模块smartcardio现在是可选的,但仍包含在 SE 中。所以如果你想使用它,你必须在module-info.java.

例子:

我在我的 Maven 项目中创建了这个文件: src/main/java/com/module-info.java

module com.chema.nfc_rfid_reader_writer {
    requires java.smartcardio;
    exports com.chema.nfc_rfid_reader_writer;
}

就这样

https://stackoverflow.com/a/59477660/7287324 https://www.oracle.com/corporate/features/understanding-java-9-modules.html

https://docs.oracle.com/en/java/javase/11/docs/api/index.html https://docs.oracle.com/en/java/javase/11/docs/api/java.smartcardio /javax/smartcardio/package-summary.html

于 2020-05-11T02:49:13.950 回答
1

java成为“模块化开发”之后,javax.smartcardio也进行了模块化。

如果要使用之后的包java 9,请创建module-info.java.

请看图片。

在此处输入图像描述

或者您可以将编译器版本降级为JDK 1.8

https://dzone.com/articles/java-9-modularity-jigsaw

于 2019-12-25T10:54:11.037 回答