🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

JAR

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

Java

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

Q&A

解決済

2回答

4862閲覧

Jarをダブルクリックで実行したい

syoshinsya-

総合スコア21

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

JAR

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

Java

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

0グッド

0クリップ

投稿2020/12/09 08:12

編集2020/12/09 08:36

わからないこと

jarファイルをダウるクリックして実行できるようにしたいです

###動かしたいJavaの概要
cmd上で使うことができるアプリケーションです
単純にScannerやprintをしているだけです

###できていること
jarファイルの作成まではできています
また、cmd上から

java -jar text.jar

というように実行すれば正常に動作します

###できていないこと
jarファイルを直接ダブルクリックするとcmdが起動しないため困っています

###試したこと
Javaのmainに

java

1Runtime runtime = Runtime.getRuntime(); 2 try { 3 runtime.exec("cmd.exe"); 4 } catch(IOException e) { 5 e.printStackTrace(); 6 }

を追加してcmdの起動を試みてみました。
しかしcmdは起動しませんでした。初めてRuntimeを使ったので間違っているのかもしれません。

また、バッチファイルの作成も思いついたのですがjarファイル単体で動かせるとファイルが少なくてすっきりするので
あっちファイルはなしの方向で頑張りたいです。

###完成系のイメージ
jarファイルをダブルクリック

cmdが起動

javaで記述したアプリを使える

###環境
OS : Windows10

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

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

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

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

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

plasticgrammer

2020/12/09 08:24

ダブルクリックした際の挙動は、拡張子別のファイルの関連付けが影響するかと思います。 現時点でJarファイルを実行することはできているのでしょうか? (課題はcmd起動だけでしょうか?)
syoshinsya-

2020/12/09 08:33

cmdから java -jar text.jar というように起動した場合は正常に動作します
shiketa

2020/12/09 08:34

> また、cmd上から実行すれば正常に動作します どうやって実行したのでしょうか?具体的なコマンドを提示してください。 `java -jar hoge.jar`で動いたのでなければ、ダブルクリックでは動かないでしょう。 そうであれば"executable jar file"でgoogleに訊いてください。
plasticgrammer

2020/12/09 08:38 編集

質問が曖昧でした。すみません。 確認したい点はダブルクリックでの挙動です。 プログラムは実行されている(がcmdが起動していない)状態なのか、 それともプログラム自体が実行されていない状態なのか、 どちらでしょうか。
syoshinsya-

2020/12/09 08:38

> `java -jar hoge.jar`で動いたのでなければ、ダブルクリックでは動かないでしょう。 申し訳ありません、質問の方にコードを追加しました java -jar hoge.jar`のようにcmd上で起動した場合には動いています
shiketa

2020/12/09 08:44

あら。シツモンの編集とかぶりましたね。シツレイシマシタ。
syoshinsya-

2020/12/09 09:25

>ダブルクリックでの挙動 jarファイルをダブルクリックした場合は マウスカーソルの横にクルクルマークが出るだけで cmdが起動したりしている様子は確認できませんでした プログラムは動いているがcmdが無いためprintやscannerが全てスキップされ、一瞬で終了しているのだと思います
guest

回答2

0

ベストアンサー

Jar実行で実行されるクラス(Main-Class)のmainにて、cmdを/C付きのコマンド指定で起動するのはどうでしょうか。
実行するコマンドはjavaコマンドで、クラスパスに自分自身のjarファイルを指定し、クラスは別なクラスから起動すれば上手くいく気がします。

コマンド実行については以下のサイトを参照ください。
https://www.ne.jp/asahi/hishidama/home/tech/java/process.html

投稿2020/12/09 11:20

plasticgrammer

総合スコア629

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

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

syoshinsya-

2020/12/09 13:10

回答ありがとうございます 上記のコマンドでプロセスが実行されていることが確認できました! しかし調べて所execからcmdを起動した場合、GUIが表示されないようです(裏では動いてるみたい)。 ですから半分成功、半分失敗ですね...
guest

0

そのjarファイルを右クリックしてプロパティ、全般のプログラムで、実行させるアプリケーションを設定しましょう

投稿2020/12/09 08:15

y_waiwai

総合スコア88038

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

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

syoshinsya-

2020/12/09 08:23

回答ありがとうございます 試してみたのですがcmd.exeやcmdへのショートカットを設定しようとすると 関連付けることができないといわれてしまいました。 申し訳ありません
y_waiwai

2020/12/09 08:37

cmdじゃなくてjava.exeを設定するんでは
syoshinsya-

2020/12/09 14:22

すみません 間違えてしまいました java.exeを設定したところ 一瞬だけですがcmdの黒い画面が表示されました! しかしその後黒い画面はとじてしまい、 System.out.print() 等の結果を見ることは出kませんでした 申し訳ありません
y_waiwai

2020/12/09 14:35

実行は終了したら画面は閉じますね まあ、それでダブルクリックで実行できるようになったということで。
dodox86

2020/12/10 00:45

>@質問者さん 質問には2つのテーマが含まれています。1つはJARファイルをダブルクリックで実行する方法で、もうひとつはJavaのプログラムの中でcmd.exe を(必要であればコマンドライン付きで)実行する方法、です。ふたつを分けて考えないとダメだと思います。もし、ダブルクリックで当該JARファイルを実行できているのだとしたら、片方は解決しています。
syoshinsya-

2020/12/10 05:43

>dodox86 ありがとうございます Jarファイルの実行自体はできていますから、 Javaプログラムの中からcmd.exeをコマンドライン付きで起動する方法を検討してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問