2

Maven Shadeプラグインで作成した巨大な JAR ファイルがあります。

これを で実行するjava -jar foo.jarと、UI が開きます。*.exeそのJARファイルにもあるファイルを実行したいのですが、どうすればいいですか?

exeをクラスパスに配置してそこから実行しようとしましたが、試してみたところ、クラスパスが実際には私のJARがある場所であることがわかりました。

助言がありますか?

ここでこれを見つけましたが、これは本当に最善の解決策ですか? かなりの作業のように思えますが、exe の場所を自分で定義でき、JAR は自分で作成できるため、ここではケースが異なると思います。

jar内にパッケージ化されたexeを実行します

なぜこれが必要なのですか?

ユーザーが実行できる単一の実行可能ファイルをユーザーに提供したいのですが、私のプログラムは *.exe を使用しています。jar の横に exe を配置する必要があります。ファイルは 2 つになりますか、それとも要件に対する解決策がありますか?

4

2 に答える 2

4

ファイルを一時的な場所にコピーして実行する方法です。リンク先の回答は、exeファイルをInputStreamとして取得し、Apache Commons IOなどのユーティリティを使用してファイルにコピーできるため、必要以上の作業を行いますFileUtils.copy(in, out)

jar から jar の外部のファイルにテキスト ファイルをコピーするにはどうすればよいですか? を参照してください。例えば。

于 2012-09-21T13:55:46.093 に答える
2

それは場所ではなく、OSにexeを実行するように指示する必要があるという事実に関するものであり、残念ながら、jar内の場所を提供することによってそれを行うことはできません.

于 2012-09-21T13:54:11.273 に答える