質問するログイン新規登録
Java

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

Q&A

解決済

1回答

814閲覧

JDKやTomcatなどでアプリを開こうとすると一瞬コマンドプロンプトが開いて消えてしまいます

one1

総合スコア1

Java

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

0グッド

0クリップ

投稿2024/10/13 11:17

0

0

実現したいこと

JDKやTomcatなどの環境構築をしたい

発生している問題・分からないこと

以前環境構築した際はできたのですがonedriveの容量が圧迫されもう一度ダウンロードすれば大丈夫だと思い軽くするためにonedriveから完全削除までしてしまったせいかTomcatなどのアプリを環境構築しようとすると一瞬コマンドプロンプトが開いて消えてしまいます

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

グーグルでJDKやTomcatなどの環境構築やエラーに関するサイトを色々調べたが環境構築できませんでした
具体的には環境変数でCATALINA_HOMEをTomcatのダウンロード先のフォルダに設定したりJAVA_HOMEをjke23のダウンロード先のフォルダに設定したりしましたが解決できませんでした

補足

onedriveから完全削除してしまったらもう環境構築はできないのでしょうか。また、できる場合わかる範囲でやり方をご教示いただけると助かります

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

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

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

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

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

otn

2024/10/14 02:37

過去にやったこと、今に至る経緯、今回具体的に何をやって、何をした時点でどうなったかなど、全く不明です。
one1

2024/10/14 05:42

すみません。過去には公式サイトからJDKやTomcatなどをダウンロードし、環境構築をしていました。その際は成功しています。 今に至る経緯は色々ダウンロードしていたらonedriveのほうが容量いっぱいになってしまい容量増やすのをケチったのと、どれがどれのファイルなのかがわからなくなりJDKなどを含むたくさんのonedrive内の情報を完全削除しました。その後もう一度ダウンロードしたのですがJDKやTomcatなどを起動しようとしてもコマンドプロンプトが一瞬開いて閉じてしまいます。 今回は具体的には完全削除したファイルなどを復元するために有料のソフトを購入し復元しました。ただ復元してPathを通したりJAVA_HOMEやCATALINA_HOMEをJDKやTomcatをインストールした場所で設定してもうまく環境構築できませんでした。
otn

2024/10/14 09:15

説明に具体性(再現性というか)がないですが、環境構築・復元手順を、赤の他人が同じ事を再現できるレベルで具体的に説明するのは困難だと思うので、とりあえず、 > JDKやTomcatなどを起動しようとしてもコマンドプロンプトが一瞬開いて閉じてしまいます。 の部分だけでも、「他人が全く同じ事を再現実行できるレベル」で説明してはどうでしょうか。
one1

2024/10/14 09:57

ご指摘ありがとうございます! まずはJDKやTomcatを公式サイトから自分のOS(Windows)に合う形でダウンロードしました。その後ショートカットキーで Win + I > システム > システムの詳細設定 > 環境変数までいき ・JAVA_HOME=C:\Program Files\Java\jdk-23とし、 ・CATALINA_HOME=C:\Program Files\Apache Software Foundation\Tomcat 11.0 ・PATH=%JAVA_HOME%\bin;%PATH%と設定しました。 そしてエクスプローラーからProgram Files > Java > jdk-23 > bin > javaのアプリケーションや Program Files > Apache Software Foundation > Tomcat 11.0 > bin > startupを開こうとするのですが一瞬コマンドプロンプトが開いてすぐ消えてしまいます。 一応こういった一瞬コマンドプロンプトが開いて消えるということに関して記載のあるサイトを見てポート番号の競合について書いてあったので自分のポート番号の競合について Program Files > Apache Software Foundation > Tomcat 11.0 > conf > serverでポート番号を変更したりしてもうまくいきませんでした。
otn

2024/10/14 10:20

それらプログラムを、普通にコマンドプロンプトから起動するのでなく、Explorerからダブルクリックで起動してるかののように読み取れますが、そういうことをしたのでしょうか?であれば、それは何かの参考手順の指示で、「ダブルクリックで起動しろ」と書いてあったということでしょうか?
one1

2024/10/14 10:55

おっしゃる通りExplorerからダブルクリックで起動していました。 特に参考手順ではダブルクリックで起動しろとは書いてはありませんでしたが、OneDriveから完全削除する前はダブルクリックで起動できていました。
hiroki-o

2024/10/14 11:54

コマンドプロンプトから叩くと、どうなりますか? 何かしら、エラーメッセージが表示されるはずです。
one1

2024/10/14 12:19

"C:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\startup.bat.exe"で叩くと '"C:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\startup.bat.exe"' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と出ます。 そのため自分なりに調べてPathをC:\Program Files\Apache Software Foundation\Tomcat 11.0\binやC:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\start.batで通してみましたが同じエラーが出ます。 ちなみにコマンドプロンプトを一度閉じてから再度開いてやってます。
otn

2024/10/15 07:04 編集

Explorerからダブルクリックで起動するのは、GUIプログラムだと分かっている時です。 コマンドラインプログラムと分かっている時は、「絶対にエラーなく実行できるし、出力メッセージを見る必要がない」と確信しているときはダブルクリック起動でも良いです。 それ以外は、コマンドプロンプトかPowershell画面から起動します。 > "C:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\startup.bat.exe"で叩くと おそらくそんなファイルは無いと思います。存在しないファイル名を実行したと言うことは、全部手打ちですか?こういうのは自分でキーインすることはしないです。 Explorereで該当ファイルを、「Shift 右クリック」して「パスのコピー」でコピーしてペーストします。Win11は右クリックメニューがWin10までとは違うようですがどこかにあります。
one1

2024/10/15 01:26

すみません こちらドラッグ&ドロップなので手打ちではないです。コピペも一応試しましたが同じエラーでした。 あと今更なのですが、Explorer内のTomcatなどのアプリのアイコンが色がない状態となっています。そのためおそらく復元がうまくできてないのではないかと思い何度も復元をソフトで試したのですが変わらず色がない状態です。 自分なりに調べてExplorerのキャッシュを復元しようと思いExplorerの該当のファイルを 右クリック→プロパティ→以前のバージョンで以前のバージョンから復元しようとしましたが「利用可能な以前のバージョン」はありませんとあります。 OneDriveの復元が原因なのではないかとずっと思っているのですがOneDriveは関係ありますか。ネットで調べても調べ方が悪いのかうまく出てこないためお聞きしたいです。
dodox86

2024/10/15 03:24

OneDriveを使っていた時に最初にどのようにJDK/JREやtomcatを導入していたのか質問文からはまったく分からない上に、復元ソフトをどのように操作して復帰させたのか読んだ者には分からないので、恐らく本質問を読んだ誰も正確なところは判断できないと思います。経験からくる推測で回答するしかないでしょう。これはちょっと埒が明かないように思います。 > '"C:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\startup.bat.exe"' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と出ます。 startup.bat.exe ではなく、Windows版のtomcatではstartup.bat だと思われます。".exe"はいらない。 > そのため自分なりに調べてPathをC:\Program Files\Apache Software Foundation\Tomcat 11.0\binやC:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\start.batで通してみましたが start.bat ではなく、startup.bat でしょう。 「C:\Program Files\Apache Software Foundation\Tomcat 11.0\」と言うことは恐らくですがWindowsインストーラー版を使ってインストールされたかあるいはそんなような記事を参考にされたのかもしれませんが、本当にそこにインストールされたものでしょうか? OneDriveは忘れて、再度、JDK(またはJRE)とtomcatを順番にちゃんとインストールすることをお勧めします。
dodox86

2024/10/15 03:27

> PathをC:\Program Files\Apache Software Foundation\Tomcat 11.0\binやC:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\start.bat PATHを通す場合、PATH環境変数にはファイル名ではなくディレクトリ(フォルダー)を指定します。なので、start.bat/startup.batのどちらも誤りですね。
otn

2024/10/15 07:20

> '"C:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\startup.bat.exe"' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。 というエラーメッセージが出たということは、'"C:\Program Files\Apache Software Foundation\Tomcat 11.0\bin\startup.bat.exe"' というファイルが存在しないと言うことです。 コマンドプロンプトに、Explorerからファイルをドラッグ&ドロップして、修正せずに実行したのならファイルは存在するはずなので、 ・上記のエラーメッセージが出た ・ドラッグドロップでそのまま実行した のどちらかが間違っているということになります。どっちが間違っているのかは他人には不明。 Onedriveは使ったことも使おうとしたこと無いので、Onedriveに起因する不具合については経験・知識が無いです。 Onedriveの動作原理を理解しないで使うと、いろいろ問題が起きるのだろうなとは思いますが。
one1

2024/10/15 07:35 編集

ご指摘ありがとうございます! いったん再度JDKを公式サイトのWindowsのx64 インストーラーからインストールしTomcatを公式サイトのTomcat11.0 > Windowsサービス インストーラーからインストールしました。 そしてコマンドプロンプトにて"C:\Program Files\Apache Software Foundation\Tomcat 11.0_Tomcat11.tomcat\bin\startup.bat"で叩いてみたところ The JAVA_HOME environment variable is not defined correctly. JAVA_HOME=C:\Program Files\Java\jdk-23; NB: JAVA_HOME should point to a JDK not a JRE. このようなエラーが出ました。 JAVA_HOMEの設定ミスだとわかったのですがJDKを指しているのにJREとなってしまいました。 先ほどから説明が不足しており分かりずらく申し訳ありません。調べても知識不足でわからないため説明不足となっていますが改めてご教示のほどよろしくお願いいたします。
one1

2024/10/15 11:26 編集

すみません。JAVA_HOMEをもう一度設定しなおしたら末尾の;が消えてTomcatにログインできました。携わってくださった皆様ありがとうございました! 非常に助かりました!
one1

2024/10/15 11:36 編集

コメントありがとうございます。dodox86様のコメントを試したところ問題が解決しました! 今回otn様と迷ったのですが解決につながったためベストアンサーに選びたいので同じ内容を回答欄に投稿いただけますでしょうか?
otn

2024/10/15 12:06

解決して良かったですが、結局、原因は、 ・JAVA_HOME設定時のタイプミス ・start.batをコマンドプロンプトにドラッグ&ドロップした後で、自分で .exe を追記して実行したら 「内部コマンドまたは外部コマンド、操作可能な~~~」のエラーになった の2点だったということですかね。 タイプミスが無いかは最初に確認する部分ですね。 なお、絶対パス(C:\~~)でプログラムを指定した時は、環境変数PATHは関係ありません(起動した後で関係する場合はある)。PATHを見るのは、プログラムファイル名(パス名)に \ がない時だけです。
one1

2024/10/15 13:28 編集

タイプミスというより何度コピペして設定してもOKボタンを押した後の画面でなぜか「;」が含まれていました。そこが異常だとすぐに気づけなかったのが原因かなと思います。あとはおっしゃる通り.exeをしていたからです。 お手数おかけしましたが、無事解決できました! otn様が最初に再現性がないことに触れていただきそこを自分の方でコメントしたことにより事が展開していったと思っております。本当にありがとうございました!
otn

2024/10/15 14:37

> タイプミスというより何度コピペして設定してもOKボタンを押した後の画面でなぜか「;」が含まれていました。 OKを押す前の文字列に含まれていない文字を、Windowsが勝手に付け足すことはないです。そんなことがあったら設定できない。 ・コピペデータに含まれていた ・コピペデータには含まれていないが、コピペ前の入力欄にもともと入っていて、上書きせずにその文字の前にペーストした のどちらかでしょうね。 (「実は意図せずにキーを押していた」の可能性ももちろんありますが) 原因を確認して、今後同じ間違いをしない対策をすることで、スキル・作業品質が上がります。 「原因不明だが、うまく行ったので、まあいいだろう」を繰り返しても作業品質は上がりません。 > そこが異常だとすぐに気づけなかったのが原因 これも「気づけなかった」のは原因じゃなくて事象で、「何故気づけなかったのか?」が原因です。
dodox86

2024/10/15 18:43 編集

@質問者 one1さん 2024/10/15 20:36 編集のコメントから: > 今回otn様と迷ったのですが解決につながったためベストアンサーに選びたいので同じ内容を回答欄に投稿いただけますでしょうか? 私は他の方々のコメントから明らかになったことでコメントしたものなので、ベストアンサーは特に辞退します。質問の当初は既にご指摘もいただいているように第三者での再現性に乏しかったのと、OneDriveにこだわっておられたようにも読めたので正直「ちょっと違うかな?」と、コメントや回答を躊躇していました。 ご自身で事の経緯や原因、対応をまとめて投稿し、自己解決として質問を閉じてもらえればと思います。よろしくお願いします。
one1

2024/10/16 01:13

承知いたしました。 ただ、dodox86様のおかげでもあるのでご指摘等ありがとうございました!
guest

回答1

0

自己解決

原因はJAVA_HOMEの設定ミスと環境構築をするのに必要なstartup.batのファイルをコマンドプロンプトでドラッグアンドドロップした後に.exeを打っていたためにstartup.batを開くことができなかったことにあります。
JAVA_HOMEに関してはJDKのパスをコピペする前におそらく間違えて「;」を打ち上書きせずに「;」の文字の前にコピペしたためうまく設定できていなかったと思われます。そこで再度JAVA_HOMEを設定したところ「;」は含まれず、JAVA_HOMEの設定に関しては解決しました。
そしてstartup.batに関しては.exeを除いてコマンドプロンプトを叩くとうまくファイルを開くことができました。
以上から解決するに至りました。

投稿2024/10/16 09:36

one1

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問