84058


vscodeでjavaをコンパイルするとclassファイルが作られぬまま実行されます。

vscode上でclassファイルを生成する方法はないのでしょうか？

また、classファイルが生成されないのに実行できるのはなぜでしょうか？


CC BY-SA 4.0
2021-12-09T01:51:24.610
84035
2023-02-07T21:11:14.980
2021-12-09T07:27:20.743
3060
49254
question
java vscode
VSCode から Java の実行時、class ファイルが生成されないのはなぜ？


VSCodeでの実行方法にもよりますが、おそらく`javac`ではなく、`java`コマンドを使用していると思います。

`java`だとclassファイルを生成しないで、実行だけしてくれます。

[code]

    javac HelloWorld.java
    java HelloWorld.java
    
[/code]


CC BY-SA 4.0
2021-12-09T07:02:20.407
84039
2021-12-09T07:02:20.407
40856
84035
answer


私の環境の場合ですが、格納場所は見つけることができましたので記述します。

classファイルは以下のパスにありました。  
`C:\Users\UserName\AppData\Roaming\Code\User\workspaceStorage\hogehogehoge\redhat.java\jdt_ws\hogehogehoge\bin`

`hogehogehoge`は任意のフォルダ名です。


CC BY-SA 4.0
2021-12-10T15:01:30.807
84054
2023-02-07T21:11:14.980
2023-02-07T21:11:14.980
49254
49254
84035
answer


[ビルドツール](https://code.visualstudio.com/docs/java/java-
build)を利用していないアンマネージドフォルダタイプの Java プロジェクトの場合、  
`Ctrl` \+ `Shift` \+ `P` でコマンドパレットを開き **Java: Configure Classpath**
と入力するとクラスパス設定画面が開きます。

この設定画面の **Output** 設定値が `.class` ファイルの出力先になります。

変更可能ですが、変更した場合はコマンドパレットから **Java: Clean Java Language Server Workspace**
を実行しないと反映されないことがあります。

[![VSCode Java class file
output](https://i.stack.imgur.com/3qsFr.png)](https://i.stack.imgur.com/3qsFr.png)

参考:

  * [Managing Java Projects in VS Code > Configure classpath for unmanaged folders](https://code.visualstudio.com/docs/java/java-project#_configure-classpath-for-unmanaged-folders)


CC BY-SA 4.0
2021-12-10T21:59:20.063
84058
2021-12-10T21:59:20.063
2808
84035
answer