Java 9中的ClassPath和javax.smartcardio

3
在Java 9中,各种默认包已经切换到Java EE包(不再包含在JVM中 - 可以选择添加)。对于大多数包来说,这并不是问题,因为我只需将Java EE包指定为依赖项。然而,在所说的包javax.smartcardio中,我没有找到任何它可能落脚的地方(github-jee,没有Maven搜索结果...)。有人能给我一个提示吗,从哪里获取该包的最新版本?非常感谢!
我刚刚发现javax.smartcardio仍然存在于模块java.smartcardio中。然而,这对我没有帮助,因为我仍然在我的项目中使用ClassPath,并且必须使用Jigsaw来处理它。

我刚刚发现javax.smartcardio仍然存在于java.smartcardio模块中。那么,你现在在问什么? - Elliott Frisch
当JDK本身存在 module java.smartcardio 时,你说“这对我没有帮助,因为我仍然在我的项目中使用ClassPath”是什么意思?能否解释一下? - Naman
我正在开发我的应用程序,但没有模块描述符。因此,我无法使用模块“java.smartcardio”。如果我要使用module-info.java,我就必须在完整的应用程序中使用模块系统。 - spellsleeper
我的目标是创建一个包含javax.smartcardio的JAR文件,或者自动读取java.smartcardio模块(清单?),以便它可以在Java 9上运行。再次强调,对我来说,使用module-info似乎不是一个解决方案。 - spellsleeper
我有同样的问题,请告诉我您是否解决了。 - Andrea Mariottini
3个回答

0

-1

我验证了,如果您在类路径上,则在运行时javax.smartcardio可用。
不需要使用--add-modules。


-2

我曾经遇到过同样的问题,因为我在编译时使用了一个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>

然后它编译通过了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接