以下のエラーにより、IDE を使用せずにコマンド ラインで cap ファイルのビルド プロセスを詳しく調べる必要がありました。これで、java/javac の一連のコマンドを使用して、コマンド ラインから cap ファイルを作成できるようになりました。しかし、Eclipse IDE 経由でビルドした場合にキャップ ファイルを正常に作成するこの 1 つのアプレットがありますが、コマンド ラインでビルドしようとするとエラーが発生します。正しくセットアップされたgradleビルド設定/環境で試したときにも同じエラーが発生しています。これはエラーです:
[ant:convert] [ INFO: ] Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
[ant:convert]
[ant:convert]
[ant:convert] warning: You did not supply export file for the previous minor version of the package
[ant:convert] [ INFO: ] conversion completed with 1 errors and 1 warnings.
[ant:convert] error: Class org/dx/tools/TestApplet, specified in -applet option, is abstract.
これは、このアプレットを使用する他のアプレットと組み合わせて動作し、テスト済みのアプレットであることに注意してください。そして、これはEclipse IDEに組み込まれています。
また、ファイルを生成することもでき.class
ます。問題は、クラス ファイルからcap
ファイルへの変換中です。
これがどのように見えるかです:
package org.dx.tools;
import org.globalplatform.GPSystem;
import org.globalplatform.SecureChannel;
import javacardx.apdu.ExtendedLength;
import javacard.framework.ISO7816;
import javacard.framework.ISOException;
import javacard.framework.Util;
import javacard.framework.APDU;
import javacard.framework.APDUException;
import javacard.framework.Applet;
import javacard.framework.AppletEvent;
public abstract class TestApplet extends Applet implements AppletEvent,
ExtendedLength {
...
}
これ.cap
は他の5つの中の1つです。他のものは抽象的ではありませんが、これを継承しています。Eclipse IDE でビルドされているため、IDE の出力を取得して他の cap ファイルを実際にビルドできます。まず、jar
クラスを作成し、java
変換コマンドにフィードして他のキャップを作成できるTestApplet.exp
ので、IDE が生成した も使用します。
更新: 2019/11/17
からまでをビルドできる実際のコマンド オプションは次のとおりです。これは、Eclipse IDE 変換ログから正確に取得しました。java
.class
.cap
これが現在の gradle の制限であることを回答で確認できる場合は、この回答を受け入れます。答えがそれを機能させるための正しいgradle設定が何であるかを示すことができれば、私はこの答えを受け入れます。ありがとう。