2024年 Javaベースのバッチを作るなら その1 環境と初期設定
前回、2020年 Javaベースのバッチを作るなら の続き。
Windows11での開発だと、これが今のところ、自分なりに、まぁまぁ良い手順かな、と言うのを書きます。
要件として、「DBから昨日のデータ取ってきて、CSVに変換、メールで管理者に送信」を想定しています。
- Rancher Desktop をインストール、起動 1
- Visual Studio Code と その拡張
Remote Container
をインストール - リモートの Git で新規リポジトリを作成
- チェックアウト 2
- Visual Studio Codeでフォルダーを開く
.devcontainer
と言うフォルダーを作る- 配下に3ファイル作る
Dockerfile
devcontainer.json
docker-compose.yml
.
|-- .devcontainer
| |-- Dockerfile
| |-- devcontainer.json
| `-- docker-compose.yml
|-- .gitignore
|-- LICENSE
`-- README.md
.devcontainer/Dockerfile
3
# Amazon Corretto with Java 21 / Debian 12
FROM maven:3.9-amazoncorretto-21-debian-bookworm
RUN apt update && apt -y install git && \
unlink /etc/localtime && \
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
.devcontainer/devcontainer.json
4
{
"name": "batch",
"dockerComposeFile": [
"docker-compose.yml"
],
"workspaceFolder": "/workspace",
"service": "api",
"forwardPorts": [
8080,
5432,
61616
],
"customizations": {
"vscode": {
"extensions": [
"ms-ceintl.vscode-language-pack-ja",
"vscjava.vscode-java-pack",
"redhat.vscode-xml",
"redhat.vscode-yaml"
],
"settings": {
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.wordWrapColumn": 240,
"editor.wordWrap": "wordWrapColumn",
"files.encoding": "utf8",
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"[xml]": {
"editor.formatOnSave": false
},
"[java]": {
"java.compile.nullAnalysis.mode": "disabled"
}
}
}
},
"postCreateCommand": "echo 'nameserver 127.0.0.11\nnameserver 1.1.1.1' > /etc/resolv.conf"
}
.devcontainer/docker-compose.yml
version: "3"
services:
api:
build:
context: .
dockerfile: Dockerfile
container_name: api
command: sleep infinity
ports:
- 8080:8080
- 9000:8000
expose:
- 8080
volumes:
- ../:/workspace:cached
environment:
- JPDA_ADDRESS=8000
- JPDA_TRANSPORT=dt_socket
networks:
- localnw
networks:
localnw:
driver: bridge
この後、「コンテナーで再開」を選んで実行、で Debian
/Java
/Maven
の開発環境が入りますよね。
ここからはmvn
コマンドで作業していくのが早いのではないでしょうか?