質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • Java

    13786questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • JAR

    89questions

    JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

実行可能なjarファイルが起動しない

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 8,249

uer03108

score 95

eclipseで作成した実行可能なjarファイルが起動しなくなりました。
ダブルクリックしても反応しません。

java9をインストール → アンインストール
してから調子が悪いです。

下記は行ったことになります。

・java9をアンインストール
・java8を再インストール(JDK)
・パス確認(環境変数)
・dosで"java -version"は実行できた

java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

下記では実行できました。
・eclipse上では起動した。
・実行可能なjarファイルをデコンパイルして、クラスをコマンドプロンプトで実行すると起動した。
・dosで"java -jar test.jar"を実行すると起動できた。

ダブルクリックで起動しません。
単純なプログラムなので、中身の問題ではないと思います。
jarを実行するファイルは、
Java(TM) Platform SE binary
です。

結構格闘しているのですが、解決できないで困っています。


追記
batファイルにコマンドを書けば、解決できそうですが。


追記 その2

レジストリの値が更新されていませんでした。
"C:\Program Files\Java\jdk-9\bin\javaw.exe" -jar "%1" %*

アンインストーラツール(JavaUninstallTool.exe)を使用して削除したはずですが。

多くのご回答有難うございました。
非常に勉強になりました。

イメージ説明

後記
起動しない・・・

tomcat7が動作しなくなった。
tomcat9はインストールできた。
これが原因?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • asahina1979

    2017/10/05 08:35

    なんとなくだが、ダブルクリックで解凍されません?

    キャンセル

回答 4

checkベストアンサー

+1

実行可能Jarファイルをダブルクリックした場合、基本的にはJREを使って起動しようとするはずです。JREは一般的にはJava8が配布されていると思うので、バージョン違いで動かないのだと思います。

EclipseやDOSでは設定やらPATHやらでJDKのツール群を使おうとするので動いたのだと思います。

追記
結局のところ拡張子との関連付けの話なので、.jarをJDKのjavaw.exeかなんかと関連付けさせたらダブルクリックでも動くようになるんじゃないかなと思います。(それかJDKの中にあるjreフォルダを丸ごとJREのインストール場所に上書きしてしまうか・・・)

さらに追記
もし、手動で関連付けを変更したのであれば、状態が少しおかしくなっているかもしれません。
Windows上でファイルを開く際、実際は関連付けられたexeに起動時引数としてファイルのパスがくっついて動作する感じになっているのですが、
Javaではjarファイルのパスを指定する前に-jarという引数を渡しておく必要がありますよね?
JREのインストーラが関連付けを行う際は、そのことを知っているので、
C:\hoge\javaw.exe -jar %1
このような感じで実行するようWindowsに登録していると思います。

それを手動で変更しようとした場合、exeファイルの指定しかしないため、
C:\hoge\javaw.exe %1
このように -jar の部分が消えてしまっているものと推測します。

つまりJREを再インストールするか、レジストリの値を直接書き換えれば治りそうな気がします!

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/05 12:29

    もうこれよくわかんねぇってなったときは
    OSから再インストールじゃ

    キャンセル

+1

手元のWindows10ではこんな感じでした。JDKじゃなくてJREに紐づいてますね。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.jar]
@="jarfile"

[HKEY_CLASSES_ROOT\jarfile]
@="Executable Jar File"

[HKEY_CLASSES_ROOT\jarfile\shell]

[HKEY_CLASSES_ROOT\jarfile\shell\open]

[HKEY_CLASSES_ROOT\jarfile\shell\open\command]
@="\"C:\\Program Files\\Java\\jre1.8.0_144\\bin\\javaw.exe\" -jar \"%1\" %*"

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/05 13:33 編集

    有難うございました。

    キャンセル

0

検索してみると、例えばWindows10ならば

Windows10で.jarファイルを起動する方法

といったあたりに具体的な手順が書かれているので、こうしたものを参考にしつつ関連付け設定にトライしてみてはいかがでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/05 12:12

    うーん、abs123さんの追記コメント「-jarが抜けている」の可能性については上記リンクには書かれてません。「関連付けされていればOK」とあり、されてなければ自分で関連付けをすればOKかのように書いてあります。しかし手動で関連付けしたら-jarオプションはついてくれなさそうな気がする(確信はない)のでabs123さんの「さらに追記」が当たりだったら上記リンクでは解決できない可能性があるかも知れません。

    キャンセル

-3

jarファイルは、ただのzipファイルなのでダブルクリックで実行できないはずですが、
java9をインストールしているときは、ダブルクリックで実行できていたのでしょうか。

上記に書いた通り、ただのzipファイルなのでダブルクリックで実行できる形式ではありません。
ご記載の通り、javaコマンドでの実行が普通です。

ダブルクリックで実行したい場合は、jarからexe形式に変換が必要になります。
使ったことはないですが、こちらのようなツールを使う必要があります。

訂正

java9インストール時に関連付けされていれば実行可能だったと思いますが、
java9アンインストール時に、その関連付けが削除されたのだと思います。

ダブルクリックで実行したい場合は、jarからexe形式に変換されたほうがいいかと思います。
使ったことはないですが、こちらのようなツールがあります。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/05 10:31

    JavaそのもののOS共通仕様ではなく、WindowsのExplore固有の機能として拡張子に特定のexecutableを関連付けられるため、(少なくともWindowsのExplore上では)ダブルクリックで起動できます。xxx.jarファイルを選びコンテキストメニューを開くと「プログラムから開く...」という項目があり、そこで「Java(TM) Platform SE Binary」が有効になってるとjarファイルのダブルクリック時にjavawコマンドで起動されるようになっている・・・という感じだと思います。JavaSEのWindowsインストーラーでインストールするとダブルクリックで起動できるようになっていたような気がします。

    キャンセル

  • 2017/10/05 11:17

    おっしゃる通りだと思います。
    >変換が必要
    は、訂正します。

    OSで拡張子毎に紐づけられている実行形式を変えればいいのですが、
    その場合、OSの種類と環境変数と別途確認することが多いことと
    環境が変わるとまた実行できなくなる可能性があります。

    eclipse自体はjavaをインストール(※)しなくても動きますし、
    eclipseから出力された「実行可能なjarファイル」というものが
    どのようなものか理解してもらう必要もあるかと考えています。
    ※OSへのインストールという意味での

    提示したツールであれば、
    比較的容易な条件下でjavaをダブルクリックで実行できる形式に変換可能なようなので、
    提示させていただきました。

    キャンセル

  • 2017/10/05 11:39

    なんで低評価ついてるんだ

    キャンセル

  • 2017/10/05 11:44

    回答意図はそういうことだったのですね。了解です。
    CUIだと少なくともLinux, Mac, WindowsともUnix風の文法に準じた仕様で統一できるものの、GUIではそうはいかない状況なのでこのあたりは利用者にとって分かりづらいものですね・・・

    キャンセル

  • 2017/10/05 11:48 編集

    > 低評価
    つけた人が理由をコメントしてくれると助かるのですが・・・どこかに間違いないしは誤解を生みそうな表現があるということなのかも知れません。

    ちなみにExploreへの関連付けはJava8以前でも行われていた気がします。Java9アンインストール時に関連付けが解除されるとしてjava8をインストールしなおせば関連付けが復活するのが期待な気がしますが、実際のところどうなのか自分には自信がないです。

    キャンセル

  • 2017/10/05 12:27

    この質問に対しては適切ではないかもしれませんが、
    jarを配布したりするようなことがあるのであれば、考慮しないといけないことだと思います。
    マイナス評価は、間違っている内容だという印象を受けやすいのでつける際は慎重にしてもらいたいものです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Java

    13786questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • JAR

    89questions

    JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。