我已将 jre 文件嵌入到我的应用程序设置中,我可以使用 java.exe 执行一些 java 特定任务。
我想使用 jarsigner.exe,但是当我启动 jarsigner 时,它会检查一些注册表项,但找不到(因为 jre 不是由 jre 安装程序安装的)它们并给出错误。
如何指定 jarsigner 的 java.exe 路径
这样它应该使用我指向的 java.exe 而不是检查注册表。
错误日志:
Error opening registry key 'Software\JavaSoft\Java Runtime Environment
Error: could not find java.dll
Error: could not find Java SE Runtime Environment
我想知道 jarsigner 是否有任何额外的参数可能定义 JAVA_HOME 目录,或定义 java.exe 存在位置的任何其他参数。
最佳答案
没有特定的命令行参数,但是在调用 jarsigner
时,您仍然可以设置 java.home
属性以指向与应用程序捆绑在一起的所需 JRE .
例如,您可以使用以下任一方式调用 jarsigner
:
-
ProcessBuilder
并设置java.home
属性, - 或
Runtime.exec()
的变体允许设置envp
环境变量, - 或批处理/shell 脚本并在其中设置
JAVA_HOME
属性。
关于java - 在安装程序未安装 jdk/jre 的 Windows 操作系统上启动 jarsigner.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991856/