2011-04-01 5 views
14

いくつかの質問は次のようなものです:どのようにして私のJavaアプリケーションをexeにパッケージ化できますか? これは私が尋ねることではありません。Javaアプリケーションを起動する小さなexe

私は次の操作を行って、自分のアプリケーションを起動することができます。

java -jar myApp.jar 

完璧に動作

を(マシンは、Java 1.5.0または>を持っていると仮定)は、今、私が持つと考えていた何て、myAppです.exeファイル。 Javaがマシンとそのバージョンにインストールされている場合

  1. チェック:それはどうなるのか

    は次のとおりです。 のjavaがない場合、それは言ってダイアログを促す: は、それは、Javaが見つからない場合eclipse.exeをはまったく同じよう 「あなたはMyApp]を実行するためにJavaをインストールする必要があります」。 終了します。

  2. のjavaがある場合には、効果的にコマンド のjavaw -jar app.jarを実行し、プロセスを生成。

任意のアイデア?

+1

+1、すばらしい質問です。 – aioobe

+0

java -versionをチェックする単純なバッチスクリプトでこれを簡単に行うことはできませんでした。有用な答えが得られれば、あなたはcharを実行できますか? – RoflcoptrException

+0

はい、バッチを使用できます。要点は、Java、バッチなどを気にしないユーザーにとっては簡単にすることです。それらは 'exe'ファイルをクリックするために使用され、それはそれについてです。 – chacko

答えて

0

私は非常に長い時間のために未回答この質問を残しました。 私はそうするのは簡単な方法がないと言うのは公正だと思います。 JSmoothは良いツールのように見えますが、かなり制限されています。 Eclipseは独自のソリューションを作成しており、javaで書かれた他の多くのソリューションはexeとしてデプロイされています。

0

バッチスクリプトのようなものは機能しませんでしたか?この質問から

@echo off 

for /f %%j in ("java.exe") do (
    set JAVA_HOME=%%~dp$PATH:j 
) 

if %JAVA_HOME%.==. (
    @echo java.exe not found 
) else (
    java -jar myApp.jar 
) 

Discover from a batch file where is Java installed?

+1

chackoにはexeファイルが必要です。ユーザは、例えば.jarや.batで終わるいくつかの奇妙な実行可能ファイルではなく、exeファイルでより快適に感じます。 – Stephan

+0

はい、それは本当です、私は代わりを見せたいだけです。 (しかし、あなたはバットをexeラッパーに使用することができます)) –

+0

exeラッパーを素敵なインストールプログラムに入れて、最終的にいくつかのアーカイブファイルにラップすることを忘れないでください^^ – Stephan

3

私はNSISLaunch4jを使用して同じようなことをやりました。 NSISでは、いくつかのウィザードウィンドウなどで必要な設定スクリプトを作成できます。Launch4jでは、実行可能なjarをexeファイルにラップすることができます。 私は両方を使用して4000人のユーザーにスイングアプリケーションを配布しました。精度を上げるために、セットアップを開始する前にJava 1.5以降がインストールされていることを確認しなければなりませんでした。

7

JSmoothは、まさにその作業を行います。

+0

誰でも、オープンソース ?誰かが本当に使ったことがありますか? – chacko

-1

あなたのアプリを想定します。 GUIがある&あなたはウェブサイトからそれを配送することができます。

1)マシンとそのバージョンにjavaがインストールされているかどうか確認してください。 javaが存在しない場合は、「javaをインストールしてmyAppを実行する必要があります」というダイアログが表示され、javaが見つからない場合はeclipse.exeのようになります。それは終了するでしょう。 Javaが存在する場合、有効コマンドjavawを-jar app.jarとスポーンを実行

2)

..ジャワの特定の最小バージョンは、その後、存在する保証するために、deployJava.jsを使用..プロセス。

..use Java Web Startアプリを起動する。直接ウェブサイトから離れてください。 JWSは他の多くの機能も提供しており、Javaをサポートするどのシステムとも互換性があります。

関連する問題