package util; import org.apache.maven.toolchain.Toolchain; import java.io.File; /** * Utilities to aid with finding Java's location * * @Author C. Dessonville */ public class JavaLocator { public static String findExecutableFromToolchain(Toolchain toolchain) { String _javaExec = null; if (toolchain != null) _javaExec = toolchain.findTool("java"); if (toolchain == null || _javaExec == null) { _javaExec = System.getProperty("java.home"); if (_javaExec == null) { _javaExec = System.getenv("JAVA_HOME"); if (_javaExec == null) { throw new IllegalStateException("Couldn't locate java, try setting JAVA_HOME environment variable."); } } _javaExec += File.separator + "bin" + File.separator + "java"; } return _javaExec; } public static String findHomeFromToolchain(Toolchain toolchain) { String executable = findExecutableFromToolchain(toolchain); if (executable != null) { File executableParent = new File(executable).getParentFile(); if (executableParent != null) { return executableParent.getParent(); } else { return null; } } else { return null; } } }