3
0

More than 1 year has passed since last update.

VSCode の Remote-Containers Extension v0.131.0 から、選べる Java の Configuration は1つになりました[追記あり]

Last updated at Posted at 2020-08-14

2020/09/30 追記
v0.138.0 から,Java 8 の Configuration が復活しました。


Java を Remote-Containers 拡張でやろうと思って導入したら、いきなり詰まったのでメモ。

詰まった点

VSCode Remote Containers Java とかのキーワードでググると、いくつか記事が出てくる。
参照すると、「Remote-Containers: Add Development Container Configuration Files から Java (8|11|14) を選んで〜〜」というように説明されているが、実際に試すとバージョン別のConfigurationが見つからない。
下図のように、Java だけがあり、あとは Azure Function 向けの Configuration だ。

スクリーンショット 2020-08-15 0.39.59.png

これを選ぶと、JDK 11 の .devcontainer が取得されるのだが、
今回は8系の環境を作りたかったので少し困った。

理由

vscode-java が Java 11 以上を要求するようになったことを受けて、Predefined Configurations に対して以下の PR が行われたため(今回詰まった点に対応する部分を太字にしています)。

  1. Removes java-8 and java-8-tomcat
  2. Consolidates java-11 and java-14 into one definition with a build arg to pick the version. It uses buster as the distro since there's no Oracle one for 11.
  3. Adds args to let people opt into installing their preferred version of Maven or Gradle with just a tweak to devcontainer.json
  4. Resolves the issues with cleanup highlighted in #422
  5. Improves layering so that maven or Gradle can be enabled without having to also re-do the common script

https://github.com/microsoft/vscode-dev-containers/pull/456

java-8java-8-tomcat の Configuration をなくして、java-11java-14のConfigurationを統合したよ」と。

で、これは v0.131.0 から有効になっています。

11 未満をどうにかする場合

以下の2通りかなと思います。

  • v0.131.0 未満の Remote-Containers 拡張をバージョン指定でインストールする。
  • JDK 11 で、コンパイルオプションの --source とか --target を使って頑張る。

11 以上にする場合

上記の 2. に書いてあるとおり、build argument でバージョンを変更できます。
devcontainer.json の以下です。

devcontainer.json
        "args": {
            // Update the VARIANT arg to pick a Java version >= 11
            "VARIANT": "11",
            // 略
        }
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0