【发布时间】:2017-02-03 02:02:19
【问题描述】:
问题
如何确保我的 install4j 安装程序始终只找到它的 java?
- 我能否创建一个顶级安装程序,将 JRE 安装到 tmp,设置 env 变量,然后启动实际的安装程序?
- 我可以在安装过程中加载 vm 文件吗?
问题
Install4j 在安装过程中发现 java 1.7 会影响自定义代码,从而阻止成功安装。我看到在文件部署之前找到了 java7 - 可以预期,因为 JRE 尚未解包。
证据 我创建了一个简单的安装程序并看到以下内容:
BEFORE
PATH=/opt/tools/Java/jdk1.7.0_79/bin:...
JAVA_HOME=/opt/tools/Java/jdk1.7.0_79
...
ENV [JAVA_HOME] /opt/tools/Java/jdk1.7.0_79
ENV [PATH] /opt/tools/Java/jdk1.7.0_79/bin:...
安装程序详情
- 可选的客户安装脚本报告在执行开始时发现 java 之前
echo BEFORE
echo PATH=$PATH
echo JAVA_HOME=$JAVA_HOME
echo Version: java -version
- 安装程序部署 jre 后运行脚本报告环境
`
import java.util.Map;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
Map<String, String> envMap = System.getenv();
SortedMap<String, String> sortedEnvMap = new TreeMap<String, String>(envMap);
Set<String> keySet = sortedEnvMap.keySet();
for (String key : keySet) {
String value = envMap.get(key);
Util.logInfo(this,"ENV [" + key + "] " + value);
}
return true;
【问题讨论】: