{ "name": "Java 25 Classroom", "build": { "dockerfile": "Dockerfile" }, "features": { "ghcr.io/devcontainers/features/common-utils:2": {}, "ghcr.io/devcontainers/features/java:1": { "version": "25", "installMaven": true, "installGradle": false }, "ghcr.io/devcontainers/features/docker-in-docker:2": {}, "ghcr.io/devcontainers/features/sshd:1": { "version": "latest" } }, "customizations": { "vscode": { "extensions": [ "vscjava.vscode-java-pack", "vmware.vscode-boot-dev-pack", "redhat.vscode-xml", "redhat.vscode-yaml", "ms-azuretools.vscode-containers", "jebbs.plantuml", "GitHub.copilot", "GitHub.copilot-chat", "EditorConfig.EditorConfig" ], "settings": { "java.configuration.runtimes": [ { "name": "JavaSE-25", "path": "/usr/local/sdkman/candidates/java/current", "default": true } ], "java.compile.nullAnalysis.mode": "automatic", "java.configuration.updateBuildConfiguration": "automatic", "editor.formatOnSave": true, "files.trimTrailingWhitespace": true, "files.insertFinalNewline": true } } }, "forwardPorts": [ 8080 ], "postCreateCommand": "java -version && mvn -version && docker --version" }