diff --git a/src/main/java/org/springframework/data/release/io/JavaRuntimes.java b/src/main/java/org/springframework/data/release/io/JavaRuntimes.java index fd6d68f..c41d059 100644 --- a/src/main/java/org/springframework/data/release/io/JavaRuntimes.java +++ b/src/main/java/org/springframework/data/release/io/JavaRuntimes.java @@ -51,6 +51,7 @@ import com.dd.plist.XMLPropertyListParser; * Utility to detect a Java runtime version. * * @author Mark Paluch + * @author Christoph Strobl */ public class JavaRuntimes { @@ -185,10 +186,21 @@ public class JavaRuntimes { */ static class SDKmanJdkDetector implements JdkDetector { - private static final File sdkManJavaHome = new File(FileUtils.getUserDirectoryPath(), ".sdkman/candidates/java"); + private static final File sdkManJavaHome; private static final Pattern CANDIDATE = Pattern.compile("(\\d+[\\.\\d+]+)[.-][-a-zA-Z]*"); + static { + + if (System.getenv().containsKey("SDKMAN_CANDIDATES_DIR")) { + sdkManJavaHome = new File(System.getenv().get("SDKMAN_CANDIDATES_DIR"), "java"); + } else if (System.getenv().containsKey("SDKMAN_DIR")) { + sdkManJavaHome = new File(System.getenv().get("SDKMAN_DIR"), "candidates/java"); + } else { + sdkManJavaHome = new File(FileUtils.getUserDirectoryPath(), ".sdkman/candidates/java"); + } + } + @Override public boolean isAvailable() { return isDirectory(sdkManJavaHome);