如何将JavaCard程序包添加到JavaCard小程序? [英] How to add JavaCard packages to JavaCard applet?
问题描述
我正在尝试构建一个简单的Hello world JavaCard小程序.我正在使用NetBeans IDE.
I am trying to build a simple Hello world JavaCard applet.I am using NetBeans IDE.
我正在关注教程.
这是我的代码:
package classicapplet1;
import javacard.framework.*;
import java.rmi.Remote;
import javacard.framework.service.Dispatcher;
import javacard.framework.service.RMIService;
import javacard.framework.service.Service;
public class JavaCardApplet extends Applet {
HelloWorld hello;
Dispatcher disp;
Service svc;
public static void install(byte[] bArray, short bOffset, byte bLength) {
new JavaCardApplet();
}
private JavaCardApplet() {
// register();
hello = new HelloWorld();
svc=new RMIService((Remote) hello);
disp = new Dispatcher((short)1);
disp.addService(svc, Dispatcher.PROCESS_COMMAND);
}
public static void install(byte[] buf, short ofs, short len){
(new JavaCardApplet()).register();
}
public void process(APDU apdu) {
//Insert your code here
disp.process(apdu);
}
}
IDE在编辑器上未显示任何错误或警告,但是我尝试构建代码:调试控制台中显示以下内容:
The IDE doesnt show any error or warning on the editor, but WHen I try to build the code: The foloowing things display in the debug console:
ant -f "C:\\Users\\Tera\\Documents\\NetBeansProjects\\JavaCardApplet" run
__reset_for_debug__:
init-platform-properties:
Using JavaCard Platform Definition at C:\Users\Tera\AppData\Roaming\NetBeans\8.1\config\Services\Platforms\org-netbeans-api-java-Platform\javacard_default.jcplatform
Java Card Home is C:\Program Files\NetBeans 8.1\javacard\JCDK3.0.2_ConnectedEdition (Java Card Platform)
init-ri-properties:
init-device-properties:
Platform device property name is jcplatform.javacard_default.devicespath
Computed device folder path is C:\Users\Tera\AppData\Roaming\NetBeans\8.1\config\org-netbeans-modules-javacard\servers\javacard_default
Platform device file path property name is C:\Users\Tera\AppData\Roaming\NetBeans\8.1\config\org-netbeans-modules-javacard\servers\javacard_default\Default Device.jcard
Deploying to device Default Device http port 8019
init-keystore:
Keystore is C:\Program Files\NetBeans 8.1\javacard\JCDK3.0.2_ConnectedEdition/samples/keystore/a.keystore
build-dependencies:
unpack-dependencies:
compile:
Compiling 2 source files to
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\build\APPLET-INF\classes
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\src\classicapplet1\JavaCardApplet.java:11: error: package javacard.framework.service does not exist
import javacard.framework.service.Dispatcher;
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\src\classicapplet1\JavaCardApplet.java:12: error: package javacard.framework.service does not exist
import javacard.framework.service.RMIService;
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\src\classicapplet1\JavaCardApplet.java:13: error: package javacard.framework.service does not exist
import javacard.framework.service.Service;
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\src\classicapplet1\JavaCardApplet.java:22: error: cannot find symbol
Dispatcher disp;
symbol: class Dispatcher
location: class JavaCardApplet
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\src\classicapplet1\JavaCardApplet.java:23: error: cannot find symbol
Service svc;
symbol: class Service
location: class JavaCardApplet
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\src\classicapplet1\JavaCardApplet.java:48: error: cannot find symbol
svc=new RMIService((Remote) hello);
symbol: class RMIService
location: class JavaCardApplet
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\src\classicapplet1\JavaCardApplet.java:49: error: cannot find symbol
disp = new Dispatcher((short)1);
symbol: class Dispatcher
location: class JavaCardApplet
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\src\classicapplet1\JavaCardApplet.java:50: error: cannot find symbol
disp.addService(svc, Dispatcher.PROCESS_COMMAND);
symbol: variable Dispatcher
location: class JavaCardApplet
8 errors
C:\Users\Tera\Documents\NetBeansProjects\JavaCardApplet\nbproject\build-impl.xml:301: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 1 second)
注意:NetBEans IDE已安装了JavaCard插件.
Note:NetBEans IDE has the JavaCard Plugin Installed.
推荐答案
将api_classic.jar
库及其导出路径手动添加到项目的库中.该文件位于以下路径下:
Add the api_classic.jar
library and its export path to the libraries of your project manually. This file is exist under this path:
<NetbeansInstalledDirectory>\javacard\JCDK3.0.2_ConnectedEdition\lib
针对初学者的逐步操作:
Step by step for beginners:
现在,尝试再次构建它.
And now, try to build it again.
这篇关于如何将JavaCard程序包添加到JavaCard小程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!