web-dev-qa-db-ja.com

WindowsでJARファイルを実行する

helloworld.jar という名前のJARファイルがあります。実行するために、コマンドラインウィンドウで次のコマンドを実行します。

Java -jar helloworld.jar

これはうまく機能しますが、ダブルクリックで実行するにはどうすればよいですか。ソフトウェアをインストールする必要がありますか?

192
DonX

最も簡単な方法は、おそらくJava Runtime Environment(JRE)をアップグレードまたは再インストールすることです。

またはこれ:

  • Windowsエクスプローラを開き、[ツール]から[フォルダオプション]を選択します。
  • 「ファイルの種類」タブをクリックし、下にスクロールして「JARファイルの種類」を選択します。
  • 詳細設定ボタンを押します。
  • ファイルの種類の編集ダイアログボックスで、アクションボックスで開くを選択して編集...をクリックします。
  • 参照ボタンを押して、Javaインタプリタjavaw.exeのある場所に移動します。
  • [アクションを実行するために使用されるアプリケーション]フィールドに、C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" %のようなものを表示する必要があります(注: 'javaw'で始まる部分はそれとまったく同じである必要があります)を使用して、すべてのダイアログが閉じるまでOKボタンを押します。

これはここから盗まれた: http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html

108
Brian Kelly

Windows VistaまたはWindows 7では、 手動ファイル関連付けエディタ は削除されました。

最も簡単な方法は Jarfix を実行することです。これは、小さいながらも強力なフリーウェアツールです。それを実行するだけで、あなたのJavaアプリは戻ってきました。

76
Hendy Irawan

.jarファイルを配布して他の人のWindowsコンピュータで実行可能にする必要がある場合は、Promptコマンドで次のような単純な.batファイルを作成できます。

Java -jar MyJavaTool.jar

.batファイルを.jarファイルと同じディレクトリに配置します。

46
Demorf

Example.jarというjarファイルがある場合は、次の規則に従います。

  1. notepad.exeを開く
  2. 書いてください:Java -jar Example.jar
  3. 拡張子.batで保存してください
  4. .jarファイルがあるディレクトリにコピーしてください。
  5. それをダブルクリックして.jarファイルを実行します
23
Pusu

これによる興味深い副作用は、プロンプトで実行可能なjarファイルを起動するときに問題を引き起こします。

試してみると(コマンドプロンプトで):

jarfile.jar parameter

喜ばしいことではありません。これは次のように翻訳されているからです(これはうまくいきません)。

javaw.exe -jar jarfile.jar parameter

ただし、次のコマンドは機能します。

Java.exe -jar jarfile.jar parameter

上記のようにファイルマネージャで関連付けを変更すると、次のようになります。

"C:\Program Files\Java\j2re1.4.2_04\bin\Java.exe" -jar "%1" %*

それからあなたはタイプすることができます:

jarfile.jar parameter

コマンドプロンプトで、それは今動作します!

編集:(ただし、フォームベースの(非コンソール)Javaアプリケーションを実行すると、黒いコンソールウィンドウが表示されるので、これは理想的な解決策ではありません)

これらのjarファイルをウィンドウ内でダブルクリックして実行した場合、パラメータは渡されないので、Javaコードはスタックオーバーフロー例外を処理し、最後に「キーを押す」機能を含める必要があります。

ウィンドウにパラメータを渡すには、ターゲット行にパラメータを含むjarファイルへのショートカットを作成する必要があります(ショートカットを右クリックしてプロパティを選択します)。方法。

ここでは単一の一貫した解決策はありませんが、他のコンソールアプリケーションでも同じ問題があります。

あなたがそれに適切なコマンドラインを持つ.batファイルからexeファイルを作成するために使用できる "exeへのバット"と呼ばれるウィンドウズフリーウェアアプリケーションがあります。あなたはまた、このアプリケーションでexeファイルにjarファイルを埋め込むことができ、それが実行を終了したときにそれをクリーンアップするので、これはよりエレガントな解決策かもしれません。

15
Bob

最初にcmdにパスを設定します(コマンドプロンプト)。

set path="C:\Program Files\Java\jre6\bin"

それからタイプする

Java -jar yourProgramname.jar 
11
suraj

Windowsの場合XP * あなただけの2 シェル コマンドが必要です。

   C:\>ftype myjarfile="C:\JRE1.6\bin\javaw.exe" -jar "%1" %* 
   C:\>assoc .jar=myjarfile  

myjarfileの代わりにJREの正しいパスとあなたが望む任意の名前を使うことは明らかです。

現在の設定を確認するだけです。

   C:\>assoc .jar  
   C:\>ftype jarfile  

今回はjarfileの代わりに、もしあれば最初のコマンドによって返された値を使用します。

* Windows 7ではテストされていません

8

他のすべての提案に加えて、考慮すべき点がもう1つあります。 helloworld.jarはコンソールプログラムですか?もしそうなら、私はあなたがダブルクリック可能なjarファイルにそれを作ることができるだろうとは思わない。コンソールプログラムは、入力と出力に通常のcmd.exeシェルウィンドウを使用します。通常、jar "launcher"はjavaw.exeにバインドされており、コマンドシェルウィンドウは作成されません。

6
Stephen Gilbert

ユーザーが自分のPCで変更を加える必要がない方法があります。 Runtime.getRuntime.exec()によりcmd.exeを起動し、その中でコマンドを実行することができます。そのため、ユーザーが.jarファイルをクリックしたときに、Javaプログラムがコマンドプロンプトで自分自身を実行することが可能です。

public static void main(String[] args) throws IOException {
    if(args.length == 0) {
        Process p = Runtime.getRuntime().exec("cmd.exe /c start Java -jar " + (new File(NameOfClass.class.getProtectionDomain().getCodeSource().getLocation().getPath())).getAbsolutePath() + " cmd");
    } else {
        //code to be executed
    }
}
6
dario111cro

私はWindows 7 x 64を実行していて、これらの修正のどれも使用することができませんでした。

これは私にとっては功を奏した。

http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi

実行可能な.batファイルを含むダウンロード可能なアーカイブがありますが、実際のjavaw.exeのパスを確認してください。

5
lawid

あなたはいくつかのことをチェックしたいです。これが自分のjarファイルである場合は、マニフェストでMainクラスを定義したことを確認してください。コマンドラインから実行できることがわかっているので、Windowsショートカットを作成してプロパティを変更することもできます(見回す必要があります。Windowsマシンはありません)開いたときに実行されるコマンドは、前述のJava -jarコマンドです。

他のこと:何かが混乱しないのであれば、とにかくうまくいくはずです。 Javaが.jar拡張子に関連付けられていることを確認してください。

3
Charlie Martin

Regeditで、HKEY_CLASSES_ROOT\Applications\Java.exe\Shell\open\commandを開きます

左側のデフォルトをダブルクリックし、Java.exeパスと "%1"引数の間に-jarを追加します。

2
grwww

私は、Windows 10でも同じ問題を抱えていました。「 helloworld.jar 」の righ-click を使用して properties に移動し、 change ボタンをクリックしてください「」で開き、「 このPCで別のアプリを探す 」を選択します。 「 Open with ... 」ダイアログボックスで、PCのJavaフォルダの場所に移動して対応するjdkフォルダを開き、次に bin フォルダを開いて「 javaw.exe 」を選択します。 " そこから。それから、次回あなたの " helloworld.jar "が通常の方法で開きます。

通常のJavaの場所の例: " C:¥Program Files(x86)¥Java¥jdk1.8.0_111¥bin "。

1

残念ながら、最近のWindows版でMicrosoftが高度なファイルの関連付けダイアログを削除したのと同じくらい簡単ではありません。 - 新しいバージョンのWindowsでは、.jarファイルを開くのに使用されるアプリケーションだけを指定することができます。

Windowsで.jarファイルを開くには2つのステップが必要です。

  1. コントロールパネルを開き、[デフォルトのプログラム] - > [アソシエーションの設定]を選択します。そこに.jar拡張子( 実行可能なJARファイル )を見つけ、この拡張子を開くためのデフォルトプログラムとしてJavaを選択します。おそらく " Java Platform(SE) "と表示されます。もっと速い方法は、おそらく.jarファイルを右クリックし、そして「変更...」ボタンをクリックして関連するプログラムを変更することです。

  2. 今すぐregeditを開き、HKEY_CLASSES_ROOT\jarfile\Shell\open\commandキーを開きます。幸いなことに、(Default)の値にはパラメータを指定することができます。私のWindowsシステムでは、C:\app\32\jre7\bin\javaw.exe" -jar "%1" %*のように見えますが、ほとんどの場合、次の文字列です。C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

ノート:

  • シェルウィンドウを開くので、Java.exeを使用しないでください。
  • このスレッドで言及されている jarfix ツールは、ほとんどの場合、レジストリの変更以外のことは何もしません。システム管理者がレジストリの変更をネットワーク内のすべてのワークステーションに「プッシュ」できることを意味するので、私は手動のレジストリ変更方法を好みます。
1
DejanLekic

PreScript :あなたのプロンプトが現れてすぐに消えてしまうのは、あなたのプログラムが実行されて自動的に終了するからです。スキャナーを最後に置いて終了してみてください。そうすると、終了する前にプロンプ​​トが入力を待ったままになります。 (または多分遅延を使用)

Cmdから.jarを実行しても問題なく動作していましたが、ダブルクリックしても何も起こりませんでした。

解決方法:任意のテキストエディタを開き、コマンドラインを入力します。Java -jar Example.jarファイルを.batファイルとして保存します。必要な出力を得るためにこのbatファイルを実行してください。

一歩進めて、Bat To Exe Converterのような簡単なGUIツールを使って、このbatファイルをexeファイルに変換することができます。

今すぐあなたは誰でも使うことができる.exeファイルの配布としてあなたの.jarを共有できます。 (特に.jarファイルと.batファイルの原因である.batは、cmdプロンプトにすぎません)(論理的な感じ方)

私は開発や学習についてはかなり新しいです。コミットした場合は、間違いをお許しください。提案は大歓迎です。

1
Manthan_Admane

クリック/ダブルクリックでjarファイルを実行するもう1つの方法は、ファイル名の前に "-jar"を追加することです。たとえば、ファイルの名前をMyJar.jarから-jar MyJar.jarに変更します。

もちろん、.classファイルはJava.exeに関連付けられている必要があります。これはすべてのケースでうまくいくとは限りませんが、私にとってはほとんどの場合うまくいきました。

1
user4343596

Jarファイルをダブルクリックして実行する必要がある場合は、 " Runnable JAR "として作成する必要があります。 IDEを使えば簡単にできます。

Eclipseを使用している場合は、次の手順に従ってください。

    To create a new runnable JAR file in the workbench:

1.From the menu bar's File menu, select Export.
2.Expand the Java node and select Runnable JAR file. Click Next.
3.In the  Opens the Runnable JAR export wizard Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
4.In the Export destination field, either type or click Browse to select a location for the JAR file.
5.Select an appropriate library handling strategy.
Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.

より詳しい情報はEclipseのヘルプページにあります: _ link _

0
Nomesh DeSilva

メソッドはたくさんあります Windowsで.jarファイルを実行するための/。そのうちの一つはコマンドPromptを使用しています。

ステップ:

  1. コマンドプロンプトを開く(管理者として実行)
  2. 今すぐルートディレクトリに "cd \"コマンドを書く
  3. 「Java jar filename.jar」と入力します。注:WinRAR、jarfixなどのサードパーティ製アプリも使用できます。
0
irisrei08

実際、私もこの問題に直面しました、私は自分のjarファイルのための.batランナーを作ることによってそれを回避しました

これがコードです:

class FileHandler{
   public static File create_CMD_Rnner(){
      int exitCode = -1625348952;
      try{
           File runner = new File(Main.batName);
           PrintWriter printer = new PrintWriter(runner);
           printer.println("@echo off");
           printer.println("title " + Main.applicationTitle);
           printer.println("Java -jar " + Main.jarName + " " + Main.startCode );
           printer.println("PAUSE");
           printer.flush();
           printer.close();
           return runner;
       }catch(Exception e){
           System.err.println("Coudln't create a runner bat \n exit code: " + exitCode);
           System.exit(exitCode);
           return null;
       }
   }
}



次に、Your Mainアプリケーションクラスでこれを行います。

public class Main{
    static String jarName = "application.jar";
    static String applicationTitle = "Java Application";
    static String startCode = "javaIsTheBest";
    static String batName = "_.bat";


    public static void main(String args[]) throws Exception{
        if(args.length == 0 || !args[0].equals(startCode)) {
            Desktop.getDesktop().open(FilesHandler.create_CMD_Rnner());
            System.exit(0);
        }else{
            //just in case you wanted to hide the bat
            deleteRunner();
            // Congratulations now you are running in a cmd window ... do whatever you want
            //......
            System.out.println("i Am Running in CMD");
            //......
            Thread.sleep(84600);
        }
    }


    public static void deleteRunner(){
        File batRunner = new File(batName);
        if(batRunner.exists()) batRunner.delete();
    }
}


その点に注意してください

  1. このコード(私のコード)はjarファイルでのみ動作します。クラスファイルでは動作しません。

  2. jarファイルは、Stringと同じ名前でなければなりません。 "jarName"はMainクラスです。

0
ZOLDIK

ステップ:

1.)GoogleでJava SE Runtime Environmentを検索してください: https://www.google.com/search?q=Java+SE+Runtime+Environment

2.)コンピュータに適切なバージョンをインストールします

0
iorgu

Javaファイルの作成にEclipseを使用している場合は、それを実行可能なjarファイルとしてエクスポートすることを選択できます。私は自分のプログラムでこれをしました、そして私は瓶をクリックすることができます、そしてそれはそのように実行されます。これはos xと同様に両方のウィンドウで動作します。

0
user2675678

.batファイルを作成します。

start javaw -jar %*

そしてこのデフォルトの.jarファイルで.batを開くためにapp defaultを選択してください。

.jarファイルを起動するとcmdを閉じます。

0
Hongarc

コンパイル用:

javac  -cp ".;./mysql-connector-Java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart.Java

実行するために:

Java  -cp ".;./mysql-connector-Java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart
0

Start.batを作ることだけが私のために働きました。

テキスト文書を開いて入力してください。 Java -jarあなたの名前がなんであれ/jar

実行したい.jarファイルと同じフォルダにstart.batとして保存します。そして実行します。コウモリ

0
freeloaderzful