版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/freudlv/article/details/26499817

本文讲述在Eclipse环境下。怎样创建一个Java卡的项目,新建一个APPLET。执行在Java卡片上。

在建立项眼下,必须安装好环境:先下载一个Eclipse。然后安装JCOP就可以。

(JCOP的下载,须要与NXP签订协议才干拿到安装文件,当然网上可能找到别的版本号,这里不讨论)。安装次序:安装好Eclipse,然后安装JCOP。然后导入JCOP的授权文件。也能够參考以下这篇文章:

环境搭建:http://blog.csdn.net/menghnhhuan/article/details/7616690

 

眼下我使用的Eclipse Version: Kepler ServiceRelease 2

建立project:

1.      新建一个JAVA卡的项目:

2.选择“Java Card Project”后。并填入Project name得到:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnJldWRfbHY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

3.点击Next。下一页的配置例如以下,仅仅须要勾选两项。至于不同版本号的差异,临时我还不知道。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnJldWRfbHY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

4.点击Next后,下一页的配置例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnJldWRfbHY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

5.点击Next,下一页须要填入包和类名。(包须要全小写,类名须要全大写)

6.点击Next,须要填入Package和Applet的AID.

7.点击Finish,就能够看到项目:

8.生成的代码例如以下:

此时,Eclipse会自己主动编译代码,没有提示不论什么出错,表明代码已经被编译好。

 

9.编译完毕,就能够開始调试了,调试工具使用IBM的jcop(如今授权给NXP了)。启动方式例如以下:

点击这个绿色的虫子,然后选择 Debug Configurations.

10.在 “Java Card Application”处,右键,New,得到下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnJldWRfbHY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

11.点击 Apply,然后点击Debug,就能够欢快地debug了。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnJldWRfbHY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

 

这个时候,代码就会载入到模拟器里面,能够发指令试一试我们的Hello world了。

发送/send 00A4040006A00000000901指令,就能够看到模拟器的响应,能够设置断点进行debug.

注意几点:

1. 假设有提示出错,考虑是否编译器的版本号问题:Progect –》Properties-》Java Complier;(我眼下选择的Java编译器版本号是1.6)

2. 在进行debug的时候,须要New一个新的模拟器;

3.仅仅须要New一次,执行一次模拟器。假设执行多了,须要去debug的窗体关闭,否则会多个模拟器同一时候执行。

这篇文章仅仅是大致讲了个流程。实际上每一个人操作的时候都会遇到各种各样的问题。

比方安装JCOP有问题,比方建立project到最后提示出错,比方调试的指令不知道怎么发。

仅仅能慢慢去摸索,互勉。

说明:《JAVA card 应用开发》系列博文是我在学习Java卡过程中的记录,有不正确的地方。请指出。

JAVA card 应用开发(一) 创建第一个APPLET的更多相关文章

  1. JAVA card 应用开发(三) 把APPLET(CAP文件)装载到卡片

    依据前面两篇博文.我们能够在Eclipse上建立好Applet.而且能够有多个AID.能够选择不同的应用. 那么,以上我们都是基于模拟环境的逻辑,实际上有些函数接口是须要实际的环境.就是说我们须要把A ...

  2. JAVA card 应用开发(二) 在项目添加APPLET

    在上篇博文中.<JAVA card 应用开发创建第一个APPLET>.介绍了一个项目从无到有. 那么.我们建立了这个项目后,仅仅有一个应用(一个可选AID),假设我希望这个项目能够有多个应 ...

  3. “全栈2019”Java第四章:创建第一个Java程序

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. 第三章 Odoo 12 开发之创建第一个 Odoo 应用

    Odoo 开发通常都需要创建自己的插件模块.本文中我们将通过创建第一个应用来一步步学习如何在 Odoo 中开启和安装这个插件.我们将从基础的开发流学起,即创建和安装新插件,然后在开发迭代中更新代码来进 ...

  5. java多线程之:创建开启一个线程的开销

    ---->关于时间,创建线程使用是直接向系统申请资源的,这里调用系统函数进行分配资源的话耗时不好说.---->关于资源,Java线程的线程栈所占用的内存是在Java堆外的,所以是不受jav ...

  6. JAVA card 应用开发(六) 个人化数据的线路安全和数据安全

    卡片个人化数据的线路安全和数据安全 说明:下面理论,基于GP2.2规范. 一.线路安全 1. 概念:线路安全.就是对于数据不保密.但要保证数据的完整性和防止被篡改. 2. 方法:在原有的数据基础上.加 ...

  7. JAVA card 应用程序开发(七) JAVA 卡数据(永久数据/)时间数据

    JAVA 卡对象 JAVA CARD 存储器装置: a.      ROM: 永久保存程序和数据,虚拟机,API等待:(Applets它也可以在这里放) b.      RAM: 栈数据,暂时对象. ...

  8. 数据库面试技巧,通过JDBC展示自己专业性,摘自java web轻量级开发面试教程

    这篇文章是我之前写的博文 数据库方面的面试技巧,如何从建表方面展示自己能力 和 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程是一个系列的,通过面试官的视角和大家分 ...

  9. JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识

    JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...

随机推荐

  1. 以普通用户启动的Vim如何保存需要root权限的文件

    在Linux上工作的朋友很可能遇到过这样一种情况,当你用Vim编辑完一个文件时,运行:wq保存退出,突然蹦出一个错误: E45: 'readonly' option is set (add ! to ...

  2. HIVE学习(待更新)

    1 安装hive 下载 http://mirrors.shu.edu.cn/apache/hive/hive-1.2.2/,红框中的不需要编译. 由于hive是默认将元数据保存在本地内嵌的 Derby ...

  3. Python中字符串、列表、元组、集合、字典中的一些知识,有些不太常见

    ————————笔记——————————# 字符串1. 字符串是不可变的.2. 字符串切片输出:`[start:end:step]`.使用`a[::-1]`倒序输出字符串.3. `str.split( ...

  4. C#运算符笔记

    C# 原来也可以进行向量运算,这里解决了一个为时已久的疑惑. operator struct Vector { public double x, y, z; public Vector(double ...

  5. PIVOT 和 UNPIVOT 命令的SQL Server版本

    I:使用 PIVOT 和 UNPIVOT 命令的SQL Server版本要求 1.数据库的最低版本要求为 SQL Server 2005 或 更高 2.必须将数据库的兼容级别设置为 90 或 更高 3 ...

  6. 【LeetCode 28_字符串_匹配】Implement strStr()

    解法一:Brute-force int strStr(string haystack, string needle) { int m = haystack.size(); int n = needle ...

  7. Device-Dependent Bitmaps (DDB) 设备相关位图

    设备相关的位图(DDB)使用单一结构BITMAP结构描述.该结构的成员指定矩形区域的宽度和高度,以像素为单位;将条目从设备调色板映射到像素的数组的宽度;以及器件的颜色格式,在每个像素的颜色平面和位数方 ...

  8. Kotlin Reference (六) Control Flow

    most from reference if表达式 在kotlin中,if是一个表达式,即它返回一个值.kotlin中没有Java中的三元运算符. // Traditional usage var m ...

  9. 正则 匹配 HTML 标签

    var tt=((result.data).toString()).match(/<style(([\s\S])*?)<\/style>/g);

  10. 用sublime server 启动本地服务器(手机访问电脑页面)

    安装sublime server 插件包           1.Ctrl + shift + p                      install package               ...