0

私は Ticker という名前の 1 つのユーティリティを開発しました。

Jar に詰めて、別のプロジェクトで使用しようとしました。

私はエクリプスを使用しています。バイナリ (JAD/JAR) の作成時に、検証前のエラーが発生します。

その後、1つの回避策を試しました。バイナリを作成し、必要なクラスを手動で挿入します。

Sun Emulator (WTK 2.5 DefaultColorPhone) で実行しようとすると、検証前のエラーが発生します。一方、ビルドは KEmulator で正常に動作しています (KEmulator は KVM ではなく JVM で実行されることを知っているだけです)。

その後、ライブラリを調べたところ、クラスが検証されていないことがわかりました。

次に、WTK preverify.exe を使用して検証を行います。しかし、4つのうち2つのクラスが事前に検証されていないことに気づきました(StackMapエントリがありません)。

クラス階層

  • ティッカー.java //Verified

  • Text.java は Component.java を拡張します //Verified

  • Component.java は TimeControlled.java を拡張します //Not Verified

  • TimeControlled.java //Not Verified

それを取り除いてください。

アミット

4

1 に答える 1

0

過去に、アンテナでAntスクリプトを作成することでこれを行いました:

. Java ソースをコンパイルします
<wtkbuild srcdir="./src" destdir="./classes" preverify="false"/>

. リソースをコピーします
<copy todir="./classes">
<fileset dir="./res"/>
</copy>

. ライブラリ jar を抽出します
<unjar src="./lib/Ticker.jar" dest="./classes"/>

. すべてを事前検証
<wtkpreverify srcdir="./classes" destdir="./classes"/>

. jar ファイルをパッケージ化します
<wtkpackage jarfile="myapp.jar" jadfile="myapp.jad">
<fileset dir="./classes"/>
</wtkpackage>

于 2013-10-03T14:18:22.257 に答える