4

我正在研究 javax.smartcardio 类。我正在使用 eclipse 3.6 并且我有 JDK 6 SE。我可以使用语句 import javax.smartcardio.* 或其任何单独的类,只要我更改首选项以警告或忽略禁止的引用。

我在Java SE 6的标准文档中没有看到任何提及 javax.smartcardio, 并且 eclipse 中没有弹出 javadoc 帮助。我在这里找到了文档。

有没有办法将 Eclipse 链接到 smartcardio 的 javadocs?

4

4 回答 4

13

我找到了一个关于它的 WebLog(Konstantin Flitschew WebLog (german))。它是德语的,但它对我有用,所以我在这里做一个简短的翻译:

  1. 创建 java 项目或打开现有项目
  2. 右键单击项目并打开属性对话框
  3. 选择构建路径 -> 库选项卡并展开“JRE 系统库”树
  4. 选择条目“访问规则”并按下右侧的“编辑”按钮
  5. 您可以使用“添加”按钮应用规则:将下拉菜单设置为“可访问”并输入值“javax/smartcardio/**”</li>

通过这个设置,我能够访问 javax.smartcardio 的类。

于 2013-12-17T10:27:34.933 回答
10

当天我多次要求 Sun 将 javax.smartcardio 包含在文档中,但他们一直拒绝。现在看来,Windows 的 64 位 Java 版本 6/7 没有 javax.smartcardio,并且访问规则排除了直接使用它。这很奇怪,因为 javax.smartcardio 似乎是公认的 JSR

Sun 和 Oracle 在安全 API 方面并没有很好地沟通。它们的设计相对较好,但缺乏支持,而且它们确实突然引入了一些功能。

[编辑]

尽管该javax.smartcardio包是公认的 JSR,但 Java 6 和 7 SE 的伞形 JSR 不包括它。有关更多信息,请参见java_se-fr-spec.zip(见下文)。所以javacardx.smartcardio不是Java SE 标准 API 的一部分。现在,即使API 存在,您也可能无法访问它。而且您不能添加自己的,因为它可能存在于特定版本中。您可以使用 Eclipse 访问规则来启用javax.smartcardio和删除“问题视图”中的访问冲突。

Oracle 的 Java 8 确实包含一个javax.smartcardio实现。您可能仍然需要配置对它的访问。

JSR 268(Java Smart-Card I/O API)将不包括在内,因为 JSR 270 专家组认为 Java SE 6 的时间框架不会引起足够广泛的兴趣。

于 2012-02-22T21:46:24.060 回答
0

Oracle 的 JDK 根本不包含 javadoc javax.smartcardio。请改用OpenJDK

从https://adoptopenjdk.net/安装 OpenJDK ,然后使用 Eclipse 将其添加Window -> Preferences -> Java -> Installed JREs(在 Windows 中,您需要的路径如下所示C:\Program Files\AdoptOpenJDK\jdk-8.0.242.08-hotspot)。结果:

截屏

于 2020-03-17T23:00:48.980 回答
-1

我的情况和你一样,但后来我发现了这个http://intelligenzija.net/?q=node/1 基本上你需要在 IDE 中为这些类设置访问规则,以便你可以使用它们。

于 2011-12-22T21:53:35.507 回答