我使用 EclipseJCDE 插件和 Java Card 2.2.2 Development Kit 在 Eclipse 中编写了 Java Card 2.2.2 程序。
现在我想为我的智能卡(Java Card 3.0.1 经典版)编写程序,但我不知道如何做到这一点!
我现在可以在 Eclipse 中编写程序吗?或者我需要一个新插件?
据我所知,我必须为这个新平台下载一个新的开发套件。所以我搜索了Oracle。有些地方提到:
Java Card 3 平台由 3.0、3.0.1 和 3.0.4 版本组成 的规范和版本3.0.1、3.0.2、3.0.3和3.0.4 开发套件。
所以我下载了Java Card 3.0.1规范和Java Card 3.0.3开发套件。但它并不是真正的开发套件!它只是一个 .jar 文件!
我该如何处理这个 .jar 文件?我应该将它作为库与 JC 2.2.2 的库一起导入到我的项目中吗?
还是必须复制到之前开发包的bin目录下?
我真的很困惑!我应该为 Eclipse 添加另一个插件吗?或者我必须更换mu IDE?
为什么JC 3.0.3开发套件与JC 2.2.2开发套件不相似?
顺便说一句,我将它添加到我的项目中的 JAR 文件库中,但它包含一些奇怪的类,我在 JC 3.0.1 API 规范中没有看到它们!而且它不包含任何框架或 APDU 或...类!
我应该怎样做才能为 Java Card 3.0.1 编写程序?以及如何将它们转换为 .cap 文件? (据我所知我不能再使用转换器了,对吗?)
在 Eclipse 中针对 Java Card 目标 3.0.1 进行开发(在任何平台上):
获取 Java Card 3.0.3 开发套件(JCDK 3.0.3 实现规范 3.0.1)。您可以在这里获取它。或者,您可以从 Oracle 网页下载它,但是您将需要 Windows 计算机来安装 .jar 并获取其内容。
下载 Java Card 3.0.1 规范 (
java_card_kit-3_0_1-doc-spec-rr-15_may_2009.zip
)。提取其内容。
在 Eclipse 中右键单击您的项目“构建路径 --> 添加外部档案...”并添加 3.0.3 开发套件目录中的
lib/api_classic.jar
。这将启用代码完成并修复潜在的导入错误。
在 Eclipse 中右键单击 api_classic.jar -->“属性 --> Javadoc 位置路径:”并指定 3.0.1 规范目录中的
javacard_specifications-3_0_1-RR/classic/api_classic/
。这将为 Java Card API 调用启用 javadoc。
要将项目的 .class 文件转换为 .cap 文件,请使用 ant-javacard。从
ant
和 build.xml
所在目录运行 ant-javacard.jar
。这是 build.xml 示例:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Hello World" default="Hello" basedir=".">
<target name="jcpro">
<taskdef name="javacard" classname="pro.javacard.ant.JavaCard" classpath="ant-javacard.jar"/>
</target>
<target name="Hello" depends="jcpro">
<javacard>
<cap jckit="jc303_kit/" aid="01020304050607080900" output="testjcard.cap" sources="workspace/testjcard/src/testjcard/">
<applet class="testjcard.JTest" aid="0102030405060708090005"/>
</cap>
</javacard>
</target>
</project>
也可以在 Eclipse 中将
build.xml
添加到您的项目下。
java -jar GlobalPlatformPro/gp.jar -删除 0102030405060708090005 java -jar GlobalPlatformPro/gp.jar -删除 01020304050607080900 java -jar GlobalPlatformPro/gp.jar -install testjcard.cap
这是分步视频指南: https://youtu.be/0FOewXecWtM?t=3867
.jar 实际上只是一个安装程序。您必须使用
java -jar <file.jar>
运行它才能获得真正的运行时间。然后你应该获得 SDK。
我在 Eclipse 中安装了 java_card_kit-classic-3_0_5-u4-win32-bin-do-b_109-03_jun_2020.msi,我可以创建 java card3 项目,但它说创建 Java Card 项目时发生错误。 javax/xm/bind/JAXBEception