1

以下のエラーにより、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設定が何であるかを示すことができれば、私はこの答えを受け入れます。ありがとう。

4

2 に答える 2