JAVA card 应用开发(一) 创建第一个APPLET
版权声明:本文为博主原创文章,未经博主同意不得转载。 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的更多相关文章
- JAVA card 应用开发(三) 把APPLET(CAP文件)装载到卡片
依据前面两篇博文.我们能够在Eclipse上建立好Applet.而且能够有多个AID.能够选择不同的应用. 那么,以上我们都是基于模拟环境的逻辑,实际上有些函数接口是须要实际的环境.就是说我们须要把A ...
- JAVA card 应用开发(二) 在项目添加APPLET
在上篇博文中.<JAVA card 应用开发创建第一个APPLET>.介绍了一个项目从无到有. 那么.我们建立了这个项目后,仅仅有一个应用(一个可选AID),假设我希望这个项目能够有多个应 ...
- “全栈2019”Java第四章:创建第一个Java程序
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 第三章 Odoo 12 开发之创建第一个 Odoo 应用
Odoo 开发通常都需要创建自己的插件模块.本文中我们将通过创建第一个应用来一步步学习如何在 Odoo 中开启和安装这个插件.我们将从基础的开发流学起,即创建和安装新插件,然后在开发迭代中更新代码来进 ...
- java多线程之:创建开启一个线程的开销
---->关于时间,创建线程使用是直接向系统申请资源的,这里调用系统函数进行分配资源的话耗时不好说.---->关于资源,Java线程的线程栈所占用的内存是在Java堆外的,所以是不受jav ...
- JAVA card 应用开发(六) 个人化数据的线路安全和数据安全
卡片个人化数据的线路安全和数据安全 说明:下面理论,基于GP2.2规范. 一.线路安全 1. 概念:线路安全.就是对于数据不保密.但要保证数据的完整性和防止被篡改. 2. 方法:在原有的数据基础上.加 ...
- JAVA card 应用程序开发(七) JAVA 卡数据(永久数据/)时间数据
JAVA 卡对象 JAVA CARD 存储器装置: a. ROM: 永久保存程序和数据,虚拟机,API等待:(Applets它也可以在这里放) b. RAM: 栈数据,暂时对象. ...
- 数据库面试技巧,通过JDBC展示自己专业性,摘自java web轻量级开发面试教程
这篇文章是我之前写的博文 数据库方面的面试技巧,如何从建表方面展示自己能力 和 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程是一个系列的,通过面试官的视角和大家分 ...
- JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...
随机推荐
- IdentityServer4在Asp.Net Core中的应用(三)
今天的内容是授权模式中的简化模式,还是先看以下授权流程图: 在这种模式中我们将与OpenID结合使用,所以首先我们要了解OpenID和OAuth的区别,关于他们的区别,在我上一篇博客<理解Ope ...
- CSS布局框架 960GS 表单排版示例
- Eclipse创建Maven聚合项目
整体架构图 1.新建父工程 新建maven父项目(用来管理jar包版本),使子系统使用同一个版本的jar包. File->New->Other->Maven Project,打包方式 ...
- uva109求凸包面积,判断点是不是在凸包内
自己想了一个方法判断点是不是在凸包内,先求出凸包面积,在求由点与凸包上每两个点之间的面积(点已经排好序了),如果两者相等,则点在凸包内,否则不在(时间复杂度可能有点高)但是这题能过 #include& ...
- JavaScript---forEach( ) 、map( )和 filter()
循环数组,最先想到的就是for循环: for(var i=0;i<count;i++) { //逻辑代码} 除此之外,就是forEach()方法了. Firefox 和Chrome 的Arra ...
- Qt中使用ActiveX控件
(转自:http://blog.csdn.net/tingsking18/article/details/5403038) 在Qt中使用ActiveX控件 Qt的windows商业版本提供了Activ ...
- 二十四、DBMS_SQL
1.概述 1) 在整个程序的设计过程中,对游标的操作切不可有省略的部分,一旦省略其中某一步骤,则会程序编译过程既告失败,如在程序结尾处未对改游标进行关闭操作,则在再次调用过程时会出现错误. 2) db ...
- dell n2024交换机配置
1.putty串口设置 9600 8 1 None None 2.连接 3.console>en 4.带内管理IP地址 console(config)#username admin passwo ...
- C++面向对象高级编程(二)基础篇
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 概要 知识点1.重载成员函数 知识点2 . return by value, return by reference 知识点3 重载非成员函数 ...
- MoreEffectiveC++Item35(效率)(条款16-24)
条款16 谨记80-20法则 条款17 考虑使用 lazy evaluation(缓释评估) 条款18 分期摊还预期的计算成本 条款19 了解临时对象的来源 条款20 协助完成"返回值的优化 ...