diff --git a/src/java/devcontainer-feature.json b/src/java/devcontainer-feature.json index 4198af326..862c812a8 100644 --- a/src/java/devcontainer-feature.json +++ b/src/java/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "java", - "version": "1.6.3", + "version": "1.6.4", "name": "Java (via SDKMAN!)", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/java", "description": "Installs Java, SDKMAN! (if not installed), and needed dependencies.", diff --git a/src/java/install.sh b/src/java/install.sh index 62fd39462..2ce678c4a 100644 --- a/src/java/install.sh +++ b/src/java/install.sh @@ -340,7 +340,17 @@ fi # Install Maven if [[ "${INSTALL_MAVEN}" = "true" ]] && ! mvn --version > /dev/null 2>&1; then - sdk_install maven ${MAVEN_VERSION} + MAVEN_VERSION_TO_INSTALL="${MAVEN_VERSION}" + if [ "${MAVEN_VERSION}" = "latest" ]; then + # Get the latest stable Maven version from sdk list + MAVEN_VERSION_TO_INSTALL=$( + su ${USERNAME} -c ". ${SDKMAN_DIR}/bin/sdkman-init.sh && \ + sdk list maven | grep -E '^[[:space:]]*[0-9]+(\.[0-9]+)*[[:space:]]' | grep -v -- '-' | head -n 1 | awk '{print \$1}'" + ) + echo "Resolved latest stable Maven version: ${MAVEN_VERSION_TO_INSTALL}" + fi + + sdk_install maven "${MAVEN_VERSION_TO_INSTALL}" fi # Install Groovy