javax.smartcardio с Java 9 и ClassPath

Под Java 9 различные пакеты по умолчанию были переключены на пакеты Java EE (больше не включаются в JVM - опционально добавляются). Это не проблема для большинства из них, потому что я просто указываю пакеты Java EE как зависимости. Однако с указанным пакетом javax.smartcardio я не нашел ничего, где он мог бы приземлиться (github-jee, нет результатов поиска Maven,...). Может кто-нибудь дать мне совет, где взять последнюю версию пакета? Спасибо много!

Я только что узнал, что javax.smartcardio все еще существует как модуль java.smartcardio. Тем не менее, это не помогает мне, потому что я все еще работаю с ClassPath в моем проекте и мне придется работать с Jigsaw, чтобы получить его.

3 ответа

Использовать module-info.java требовать java.smartcardioмодуль. Это сработало для меня.

Я разместил здесь более подробный ответ: /questions/37917459/javaxsmartcardio-v-java-9-10-11-12-i-t-d/55274927#55274927

Я проверил, что во время выполнения javax.smartcardio доступен из коробки, если вы находитесь на пути к классам.
Нет --add-modules не требуется.

У меня была та же проблема, потому что я использовал проект с Java 8 для времени компиляции.

Вы должны добавить это в свой POM

      <!-- https://mvnrepository.com/artifact/javax/javaee-api -->
<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>XXXX</version>
    <scope>provided</scope>
</dependency>

Тогда компилируется нормально.

Другие вопросы по тегам