对于 Java / OSGi 项目,我需要与插入计算机的智能卡进行通信。我使用包 javax.smartcardio 来做到这一点。
当我第一次导入这个包并想使用它时,Eclipse 宣布了一个错误“访问限制:'CommandAPDU' 类型不是 API”。正如https://www.javacardos.com/javacardforum/viewtopic.php?t=918所建议的那样,我在构建路径中添加了一个可访问性规则模式。之后,一切正常,我可以在本地环境中使用该包。
但现在我想将项目传递给我们的持续集成系统,即 Jenkins 和 Maven。我还提交了 .classpath 文件。在那里我得到了同样的错误:
[错误] 导入 javax.smartcardio.CommandAPDU;
[错误] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[错误] 访问限制:“CommandAPDU”类型不是 API(对类路径条目的限制“/disc2/lunifera/server/jenkins/workspace/tools/hudson.model.JDK/JDK-8/jre/lib/rt.jar ')
出于某种原因,访问规则似乎不适用于 Jenkins。有谁知道如何解决这个问题?非常感谢。