netbeans-8 - 如何将JavaCard包添加到JavaCard小程序中?

标签 netbeans-8 javacard

我正在尝试构建一个简单的 Hello world JavaCard 小程序。我正在使用 NetBeans IDE。

我正在关注这个tutorial.

这是我的代码:

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 不会在编辑器上显示任何错误或警告,但是当我尝试构建代码时:调试控制台中会显示以下内容:

 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 插件。

最佳答案

添加 api_classic.jar库及其手动导出到项目库的路径。该文件存在于该路径下:

<NetbeansInstalledDirectory>\javacard\JCDK3.0.2_ConnectedEdition\lib

初学者的步骤:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

现在,尝试再次构建它。

关于netbeans-8 - 如何将JavaCard包添加到JavaCard小程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35162385/

相关文章:

mysql - 如何在 Windows 10 上找到 MySQL Server 5.7 的数据目录?

java - JComboBox 上的 ItemStateChanged 监听器重复输出

nfc - SIMPLE-TLV 与 BER-TLV

java - JDK8 中的动态数组

java - 如何处理 Netbeans 错误 : . ..\Find\nbproject\build-impl.xml :1388: Unable to delete directory . ..\Find\dist

smartcard - 在智能卡上上传 .cap 文件?

cryptography - 如何转换 Java Card 的 ECDSA 曲线参数

java - 为什么我的 Java Card 小程序返回 16 个字节的零而不是 AES 加密值?

java - Java Card v.2.2.2 上的 SHA-3 实现

java - 如何在 netbeans IDE for java 中生成和集成自己的构造函数