78095
新しい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
    
```

を実行しても同様に別ウインドが起動してしまいます
CC BY-SA 4.0
2021-05-16T14:04:39.633
75875
2022-04-05T08:35:11.783
2022-04-05T08:35:11.783
2238
question
java windows powershell
PowerShell 上で java コマンドが別窓で実行されてしまう
java.exe の詳細を旧PCと比較していたところ  
古いほうは管理者で実行するにチェックが入ってなかったんですが  
なぜか新しくインストールした方には管理者で実行するにチェックが入っていました

ただこのチェックをはずしてみても症状は変わらず

PowerShell の方を管理者権限で実行してそのうえでコマンドをたたくと別窓が出なくなりました

なので別窓が出る原因はOSの実行ユーザの問題のようで  
おそらく java のインストールの仕方に問題があったみたいなんですが

旧PCは windows7 で java をいれて 10 にアップグレードして使ってるんですが  
今回 10 の状態で java をインストールしたのでそのあたりで違ってるのかもです

もともと個人PCで管理者権限持ってるユーザしか作ってないので  
とりあえず PowerShell を管理者権限で実行することにします
CC BY-SA 4.0
2021-07-10T11:24:15.150
78095
2021-07-10T11:24:15.150
75875
answer