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

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

新規登録して質問してみよう
ただいま回答率
85.50%
JAR

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

Java

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

Q&A

解決済

4回答

65782閲覧

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

uer03108

総合スコア194

JAR

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

Java

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

0グッド

0クリップ

投稿2017/10/04 17:49

編集2017/10/06 16:15

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

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

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

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

dos

1java version "1.8.0_144" 2Java(TM) SE Runtime Environment (build 1.8.0_144-b01) 3Java 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はインストールできた。
これが原因?

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/04 23:35

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

回答4

0

手元の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 03:12

編集2017/10/05 03:13
matobaa

総合スコア2493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uer03108

2017/10/05 04:45 編集

有難うございました。
guest

0

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

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

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

訂正

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

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

投稿2017/10/05 01:09

編集2017/10/05 02:17
szk.

総合スコア1400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KSwordOfHaste

2017/10/05 01:31

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

2017/10/05 02:17

おっしゃる通りだと思います。 >変換が必要 は、訂正します。 OSで拡張子毎に紐づけられている実行形式を変えればいいのですが、 その場合、OSの種類と環境変数と別途確認することが多いことと 環境が変わるとまた実行できなくなる可能性があります。 eclipse自体はjavaをインストール(※)しなくても動きますし、 eclipseから出力された「実行可能なjarファイル」というものが どのようなものか理解してもらう必要もあるかと考えています。 ※OSへのインストールという意味での 提示したツールであれば、 比較的容易な条件下でjavaをダブルクリックで実行できる形式に変換可能なようなので、 提示させていただきました。
abs123

2017/10/05 02:39

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

2017/10/05 02:44

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

2017/10/05 02:51 編集

> 低評価 つけた人が理由をコメントしてくれると助かるのですが・・・どこかに間違いないしは誤解を生みそうな表現があるということなのかも知れません。 ちなみにExploreへの関連付けはJava8以前でも行われていた気がします。Java9アンインストール時に関連付けが解除されるとしてjava8をインストールしなおせば関連付けが復活するのが期待な気がしますが、実際のところどうなのか自分には自信がないです。
abs123

2017/10/05 03:27

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

0

ベストアンサー

実行可能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 00:12

編集2017/10/05 02:59
abs123

総合スコア1280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

abs123

2017/10/05 03:29

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

0

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

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

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

投稿2017/10/05 03:03

KSwordOfHaste

総合スコア18392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KSwordOfHaste

2017/10/05 03:12

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問