🐈

Jar がダブルクリックで起動しない時。

2024/02/23に公開

Jarfixというツールを用いて解決するのが早いです.

手順

Jarfixをダウンロード
・実行する

Jarfixのダウンロード方法

  1. 公式サイトからダウンロードする.

    下へスクロール
  2. ダウンロードボタンをクリック
  3. 実行する
    ・ダウンロードされたアプリケーションをダブルクリックで実行.
    ・この時警告が出ますが「はい」をクリック.
  4. 完了
    このような画面がでたら完了です.修正されたjava(jdk)のバージョンが表示されます.

以上です.

上記ではうまくいかない場合

公式サイトにもあるように,無料のOpenJDK (例えば, AmazonCorret等)を使用している場合,うまく認識されず修正が行われない場合があります.

インストーラーなしで無料の OpenJDK を使用している場合は、.jar とのファイル接続を見逃す可能性もあります。

  • この場合は再インストールが早いです.
  • それでもダメな場合は,一旦Oracle javaをインストールし,挙動を確かめてみるとよいかもしれません.
  • バージョンを8等にダウングレードする(ライブラリ依存によっては解決する可能性があります.)

とりあえず実行だけできればいいやという人へ

コマンドプロンプトからの実行であれば,おそらく起動できます.
以下のように実行可能です.

shell
java -jar test.jar

jarのある階層に移動してから上記を実行してください.

ダブルクリック実行ができない要因について

Jarfix公式のトップで見解が示されています.

上記の問題の根本的な原因は、プログラムが.jarの関連付けを盗んだことです。Java Runtime Environmentを最初にインストールした場合、"jar "というファイルタイプがjavaw.exeに正しく割り当てられています。"jar "は "java archive "の略語で、javaw.exeは.jarを実行する正しいプログラムです。しかし、Windowsでは、たとえそれがすでにプログラムに関連付けられていたとしても、どんなプログラムでもいつでもファイルタイプを盗むことができる。

どうやらWindowsの問題のようです.
jarはzip形式で保存されますが,これをダブルクリックで実行する際windowsのzip用のバックプログラムが優先的に起動し,jarとしての実行を妨げるようです.
これを回避するために,レジストリを編集する必要がありますが,レジストリの編集は知識が無いまま行うのは危険です.
jarfixはこのレジストリの編集を自動的に行ってくれるようです.

内部的にはjavaw.exeがjarを正しく認識し,実行できるように書き換えを行っているものと思われます.

参考

Discussion