動機
- Java 久しぶりにさわる
- すっかり VSCode派になってる
- Qiita や Zenn に記事見当たらないなぁ
結果
- [VSCode 公式 Java 開発ドキュメント - code.visualstudio.com] が整理されている
- DevContainer 組み合わせたらハマった
- 良い方法かは知らんけど動いたので、公開してみる
- もっと良い方法がコメント貰えたら嬉しいな
- [出来上がったもの - github.com]
ゴール
自分で課した制約
- Java 8 をつかう
- ゆくゆくは Spring 5 と iBatis 2 を検証したい
- いったん Terasoluna Server Framework 5 を動かす
- 近頃ローカルを汚さず DevContainer で頑張ってるので出来れば今回も
やったこと
Java の選択
- 非 Java 生活をしている間に Oracle の印象がうっすらわるくなっているので避ける
- DevContainer 公式でも Java イメージを出してる
- けどいざの時に世間に広く情報がある方が嬉しいので eclipse-temurin で進めてみる
- Terasoluna は Gradle サポートしないので Maven も必要
- Maven 公式イメージ maven:3-eclipse-temurin-8 を採用
Tomcat 連携
- [Working with Application Servers in VS Code - code.visualstudio.com] に沿って
- [Community Server Connectors extension] を入れても 'Java が古い' と怒られるので
- これ用に Java 17 を アプリ用 Java 8 と競合しないように導入する
Maven 拡張が認識しない in DevContainer
- DevContainer 内で
mvn archetype:generate
して見たけれど - DevContainer ワークスペース下に Generate したフォルダを VSCode の Maven 拡張機能が認識しない...
- サブディレクトリがダメぽく Generate したフォルダを VSCode で開きなおしたら 認識した
-
.vscode/settings.json
の位置になやむ、Generate したフォルダ下だけにするか、ワークスペース下にも設けるか - はたまた Docker 的に WORKDIR で調節するか、要検討
Tomcat 10 では動かない
- Community Server Connectors でアプリケーションサーバを作るとき Tomcat 9 を選びます
以上