質問: 新しいPCを購入して Windows 上に JDK をいれてパスを通したんですが ``` javac Test.java java Test ``` というようなコマンドラインから実行したとき 別のターミナルが起動してしまいます 今までのPCでは ``` > java -version java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode) ``` となるんですが 新しいPCだと ``` > java -version ``` を実行しただけでも一瞬別窓が出てすぐに閉じてしまって標準出力が残りません (while loop とかでプログラム実行し続けるようにすると別窓に標準出力がでます) どちらも 環境は Windows10 PowerShell 7.0 JDK 1.8.0 です JDK の問題なのか OS の問題なのか PowerShell の問題なのかわからないので なぜこういうことがおこるのかわかるかたいらっしゃったら助けていただけないでしょうか コマンドプロンプトから実行した場合にも同じ現象が発生しています --- **追記** 新しいほうは ``` Path E:\Java\jdk1.8.0\bin JAVA_HOME はありませんでした ``` いままでのほうは ``` Path D:\Java\jdk1.8.0\bin JAVA_HOME D:\Program Files\jdk ``` となっています --- **さらに追記** ``` > Get-command java CommandType Name Version Source ----------- ---- ------- ------ Application java.exe 8.0.0.132 E:\Java\jdk1.8.0\bin\java.exe ``` でパス自体は問題ないようです ``` > E:\Java\jdk1.8.0\bin\java.exe -version ``` を実行しても同様に別ウインドが起動してしまいます
回答: java.exe の詳細を旧PCと比較していたところ 古いほうは管理者で実行するにチェックが入ってなかったんですが なぜか新しくインストールした方には管理者で実行するにチェックが入っていました ただこのチェックをはずしてみても症状は変わらず PowerShell の方を管理者権限で実行してそのうえでコマンドをたたくと別窓が出なくなりました なので別窓が出る原因はOSの実行ユーザの問題のようで おそらく java のインストールの仕方に問題があったみたいなんですが 旧PCは windows7 で java をいれて 10 にアップグレードして使ってるんですが 今回 10 の状態で java をインストールしたのでそのあたりで違ってるのかもです もともと個人PCで管理者権限持ってるユーザしか作ってないので とりあえず PowerShell を管理者権限で実行することにします