web-dev-qa-db-ja.com

JARファイルをEXEファイルに変換するにはどうすればよいですか?

JARファイルを作成し、クライアントマシンで実行したいので、いくつか質問があります。

  1. JARファイルをEXEファイルに変換するにはどうすればよいですか?
  2. JARファイルの内容を暗号化するにはどうすればよいですか? jarファイルはWinRARで抽出でき、クラスはJava逆コンパイラで逆コンパイルできます。
  3. どうすればインストーラを作成できますか?クライアントにJVMがなく、サイズが大きいため、JDKまたはJREを同梱したくありません。
19
Freeman
  1. 次のリンクを参照してください: Java to Exe 。また、これを行う正当な理由と、そうすべきでない場合についても説明します。

  2. マシンがバイナリを理解する必要があるため、バイナリを実際に暗号化することはできません。とはいえ、最適化された実行可能ファイルを逆コンパイルすることは非常に困難ですが、プレーンクラスファイルは簡単です。

  3. あなたがexeファイルを持っているなら、十分なインストーラがあります。

16
extraneon

JSmoothはjarをexeでラップするアプリケーションです

また、展開先のシステムで正しいバージョンのJREが使用可能かどうかを確認することもできます。

http://jsmooth.sourceforge.net/

9
Ganesh Shankar

逆コンパイルを防ぐことはできません。あなたができる最善のことは、そうすることを難しくするか、より時間をかけることです。しかし、あなたの質問への回答として、 gcj を使用してJavaをEXEにコンパイルできます。

4
icktoofay

1)最近プログラム jarToExe を試してみました。いくつかの機能は次のとおりです。

  • 「エンタープライズ」向けの無料の基本バージョンまたは非常に安い($ 30)
  • windowsタスクマネージャーに、デフォルトのJava.exeの代わりにアプリの名前を一覧表示させる機能
  • 余分な難読化
  • ランタイムチェックJavaがインストールされていること

2) proguard または他の難読化ツールを使用してリバースエンジニアリングするためにharderにすることができます

3) nsis は、Windowsインストーラーを作成するための非常に強力で無料のスクリプト言語です。サイトwikiの優れたドキュメントとスタックオーバーフローのサポートも。

3
brian_d

1)に関しては:できないと思います。ツールは世の中にあるかもしれませんが、プラットフォームの独立性を破壊するため、JDKに同梱されている標準のツールではそれができません。 (そのようなサードパーティツールへのリンクを提供する他の回答を参照してください)

3)について:InnoSetupを使用してインストーラーを作成します。セットアップ内にJREを含め、InnoSetupにその場でインストールさせます。

3

多分 Excelsior JET はあなたのニーズを満たします。)IMHO非常に成熟した製品。

3
ponkin

Launch4j 一部のツールが機能していなかったのに私のために機能しました。また、よいガイド here もあります。

この助けを願っています!

2
Huy Hóm Hỉnh

1)exeを作成するには、 Launch4j

2)私が見てきたように、jarの内容を暗号化することはできません。よくわかりません。

3)インストーラーを作成するには、作成したexeを使用できますそして InnoSetup を使用してファイルを作成します。インストーラー内にembedjreおよびすべてのその他のライブラリおよび追加のファイルランタイムで必要になる可能性があります。 jreを埋め込むと、セットアップが大きくなり、それを回避したい場合は、クライアントにJavaをマシンにインストールするように依頼できます。そうすれば、jreに同梱する必要がなくなります。

0
dilanSachi

7Zip SFXインストールランチャーを使用します。これはオープンソースのシンプルなツールです。それはあなたのjar、jreのバージョンをパッケージ化するので、インストールするシステムがjreをインストールし、自己解凍バージョンの7Zipを持つことは必須ではありません。これは tutorial であり、GitHubとバンドルする方法を説明しています link プロジェクトは維持されていませんが、完全に機能しています(Java 1.8)までテスト済み)

0
Pramod