2

JAR ファイルが 1 つだけになるように、外部依存関係を含む JAR ファイルを作成しました。私は FatJar を使用してこれを行いました。これを行ったとき、Jar は問題なく動作し、問題なく実行できました。次に、ikvm を使用して Jar を exe に変換しました。exeを実行しようとすると、次のエラーが発生します。

スレッド「メイン」での例外 java.lang.IllegalArgumentException: java.class.path で com.simontuffs.onejar.Boot が見つかりません: -Done-jar.jar.path を使用して 1 つの jar ファイル名を指定することを検討してください

そこでまず考えたのが、クラスパスを指定したマニフェストファイルがあるかどうかを確認することでした。確かにマニフェストファイルがあり、これがその内容でした:

Manifest-Version: 1.0 Created-By: Fat Jar/One-JAR Eclipse Plug-In
Main-Class: com.simontuffs.onejar.Boot

JAR を正常に実行でき、これも FatJar によって作成されたので、これは正しいと思います。

次に何をすればよいかよくわかりません。また、-Done-jar.jar.path が何であるかもわかりません。誰が問題が何であるかの手がかりを持っていますか?

4

1 に答える 1

0

問題は、ikvmc コンパイラーが、作成している単一の実行可能 JAR ファイル内に埋め込まれた JAR ファイルを認識していないことだと思います。

おそらく、単一の実行可能 JAR ファイルの作成と単一の Windows exe の作成を別々のプロセスとして扱いたいと思うでしょう。Fat Jar プラグインは実行可能な JAR を問題なく作成します。

Windows exe を作成するには、コードで ikvmc を呼び出すバッチ ファイルまたは ant スクリプトと、すべての JAR 依存関係が必要になるでしょう。ikvmcコマンドラインで変換するJARファイルのリストを提供し、その出力として単一のexeを生成するように指示できると思います。これはおそらくあなたが望むものを与えるでしょう!

于 2013-08-20T09:07:11.860 に答える