< prev index next >

modules/jdk.packager/src/main/java/jdk/packager/internal/JLinkBundlerHelper.java

Print this page

        

*** 28,37 **** --- 28,38 ---- import com.oracle.tools.packager.StandardBundlerParam; import com.oracle.tools.packager.BundlerParamInfo; import com.oracle.tools.packager.RelativeFileSet; import com.oracle.tools.packager.Log; + import com.oracle.tools.packager.Platform; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException;
*** 238,247 **** --- 239,269 ---- List<Path> modulePath = StandardBundlerParam.MODULE_PATH.fetchFrom(params); Path javaBasePath = findPathOfModule(modulePath, "java.base.jmod"); if (javaBasePath != null && javaBasePath.toFile().exists()) { result = javaBasePath.getParent(); + + // On a developer build the JDK Home isn't where we expect it + // relative to the jmods directory. Do some extra + // processing to find it. + if (result != null) { + boolean found = false; + Path bin = result.resolve("bin"); + + if (Files.exists(bin)) { + final String exe = (Platform.getPlatform() == Platform.WINDOWS) ? ".exe" : ""; + Path javaExe = bin.resolve("java" + exe); + + if (Files.exists(javaExe)) { + found = true; + } + } + + if (!found) { + result = result.resolve("..\\jdk"); + } + } } return result; }
< prev index next >