带有 Java 9 和 ClassPath 的 javax.smartcardio
Posted
技术标签:
【中文标题】带有 Java 9 和 ClassPath 的 javax.smartcardio【英文标题】:javax.smartcardio with Java 9 and ClassPath 【发布时间】:2018-01-10 15:54:57 【问题描述】:在 Java 9 下,各种默认包已切换为 Java EE 包(不再包含在 JVM 中 - 可选择性添加)。 这对他们中的大多数人来说不是问题,因为我只是将 Java EE 包指定为依赖项。但是,使用上述包 javax.smartcardio,我没有找到任何可以到达的地方(github-jee,没有 Maven 搜索结果,...)。有人可以给我提示在哪里可以获得最新版本的软件包吗?非常感谢!
我刚刚发现 javax.smartcardio 仍然作为模块 java.smartcardio 存在。但是,这对我没有帮助,因为我仍在我的项目中使用 ClassPath,并且必须使用 Jigsaw 才能获得它。
【问题讨论】:
我刚刚发现 javax.smartcardio 仍然作为一个模块存在 java.smartcardio 那么,你现在在问什么? 当module java.smartcardio
出现在JDK 本身?
我在没有模块描述符的情况下使用我的应用程序。所以我不能使用模块'java.smartcardio'。如果我要使用 module-info.java,我应该在完整的应用程序中使用模块系统。
我的目标是创建一个包含 javax.smartcardio 或自动读取模块 java.smartcardio(manifest?) 的 JAR。这样它就可以与 Java 9 一起运行。同样,使用 module-info 似乎对我来说不是解决方案。
我有同样的问题,如果你解决了请告诉我。
【参考方案1】:
我已验证,如果您在类路径中,则在运行时 javax.smartcardio 是开箱即用的。 不需要 --add-modules。
【讨论】:
【参考方案2】:使用module-info.java
来要求java.smartcardio
模块。这对我有用。
我在这里发布了更详细的答案: https://***.com/a/61721513/7287324
【讨论】:
以上是关于带有 Java 9 和 ClassPath 的 javax.smartcardio的主要内容,如果未能解决你的问题,请参考以下文章
JDK PATH 和 CLASSPATH环境变量的作用及其配置