【问题标题】:javax.smartcardio in Java 9, 10, 11, 12... etcJava 9、10、11、12 等中的 javax.smartcardio
【发布时间】:2018-08-28 09:34:32
【问题描述】:

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

【问题讨论】:

  • “发生了什么”是什么意思 - 它仍然存在docs.oracle.com/javase/10/docs/api/javax/smartcardio/…
  • 我将其作为 Smart Cardio 阅读,并想知道 Java 何时开始对事物提供如此具体的支持......
  • @Kayaman 从 1.6 开始
  • @Wufo 我的意思是我把它读作 Smart Cardio,即与锻炼相关的功能。不是智能卡 IO。
  • 哦,好的。对不起...

标签: java smartcard smartcardio


【解决方案1】:

在网上搜索了几个小时后,感谢上面的答案,据我了解,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

【讨论】:

    【解决方案2】:

    java变成“模块化开发”后,javax.smartcardio也被模块化了。

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

    请看图片。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多