【发布时间】:2016-02-17 15:45:51
【问题描述】:
我正在尝试从示例目录下的 Java Card SDK 中标准的 Wallet.java 生成一个 CAP 文件和一个导出文件。我编译类,使用转换器并遇到以下情况:
$ javac -g -d classes/ src/com/sun/javacard/samples/wallet/Wallet.java
$ converter -debug -verbose -classdir "$JC_HOME/samples/src" com.sun.javacard.samples.wallet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x6:0x1 1.0
Java Card 2.2.2 Class File Converter, Version 1.3
Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
parsing /home/user/javacard/java_card_kit-2_2_2/samples/src/com/sun/javacard/samples/wallet/Wallet.class
error: com.sun.javacard.samples.wallet.Wallet: unsupported class file format of version 50.0.
conversion completed with 1 errors and 0 warnings.
我的Java版本和javac版本是一样的,Java 1.6:
$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
$ javac -version
javac 1.6.0_45
我在 Ubuntu 14.04 上使用 JC SDK 2.2.2。转换器的版本是1.3:
$ converter -version
Java Card 2.2.2 Class File Converter, Version 1.3
Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
我似乎无法解决“50.0 版不支持的类文件格式”错误。鉴于 Java 1.6 是 50.0 版,我对为什么会遇到此错误感到有些困惑。
有没有其他人遇到过同样的问题?
【问题讨论】:
-
您必须使用
Java 1.3将您的.java文件编译为.class文件。因为 JCDK2.2.2 转换器仅支持 Java 1.3 生成的class文件。 -
@Abraham,谢谢。我会试试看。
标签: java applet converter javacard java-6