--- IcedTea-Web-icedtea-web-1.8.4/shell-launcher/launchers.sh.in +++ iIcedTea-Web-cedtea-web-1.8.4/shell-launcher/launchers.sh.in @@ -193,6 +193,12 @@ shift done +java_dir="`dirname ${JAVA}`" +alt_java="alt-java" +if [ -e "$java_dir/$alt_java" ] ; then + JAVA="`dirname ${JAVA}`/$alt_java" +fi + # TODO: inline args without using COMMAND[array] to unify linux/windows scripts k=0 COMMAND[k]="${JAVA}" --- IcedTea-Web-icedtea-web-1.8.4/rust-launcher/src/os_access.rs +++ IcedTea-Web-icedtea-web-1.8.4/rust-launcher/src/os_access.rs @@ -5,9 +5,19 @@ use log_helper; pub fn create_java_cmd(os: &Os,jre_dir: &std::path::PathBuf, args: &Vec) -> std::process::Command { - let mut bin_java = jre_dir.clone(); - bin_java.push("bin"); - bin_java.push("java"); + let mut alt_bin_java = jre_dir.clone(); + alt_bin_java.push("bin"); + alt_bin_java.push("alt-java"); + let mut bin_java; + if alt_bin_java.exists() { + os.log("itw-rust-debug: alt-java found"); + bin_java = alt_bin_java; + } else { + os.log("itw-rust-debug: alt-java NOT found"); + bin_java = jre_dir.clone(); + bin_java.push("bin"); + bin_java.push("java"); + } let mut cmd = std::process::Command::new(&bin_java); for ar in args.into_iter() { cmd.arg(ar);