javax.smartcardio in Java 9, 10, 11, 12… etc

后端 未结 2 875
情歌与酒
情歌与酒 2021-01-26 22:55

What happened to the javax.smartcardio library from Java 9 onwards? Is there an alternative or some way to obtain it in JAR?

相关标签:
2条回答
  • 2021-01-26 23:28

    After the java becomes "Modular Development", javax.smartcardio has also been modularized.

    If you want to use the package after java 9, create module-info.java.

    Please see the image.

    Or you can just degrade the compiler version to JDK 1.8:

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

    0 讨论(0)
  • 2021-01-26 23:32

    After some hours searching on the web, thanks to the answer above, and as far as I understand, Java 9 and later are modular, which is a language improvement planned some years ago. Also, after the new Oracle rules update, some packages were moved from the SE to the EE version.

    The module smartcardio is now optional, but it is still included in the SE. So if you want to use it, you have to require it in a module-info.java.

    Example:

    I have created this file in my maven project: src/main/java/com/module-info.java

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

    And that's all

    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

    0 讨论(0)
提交回复
热议问题