2

我已将 jre 文件嵌入到我的应用程序设置中,我可以使用 java.exe 来执行一些特定于 java 的任务。

我想使用 jarsigner.exe,但是当我启动 jarsigner 时,它会检查一些注册表项,但找不到(因为 jre 安装程序没有安装 jre)并给出错误。

如何指定 jarsigner 的 java.exe 路径

所以它应该使用我指向的 java.exe 而不是检查注册表。

错误日志:

打开注册表项“Software\JavaSoft\Java Runtime Environment”时出错

错误:找不到 java.dll

错误:找不到 Java SE 运行时环境

我想知道 jarsigner 是否有任何额外的参数可以定义 JAVA_HOME 目录,或者定义 java.exe 所在位置的任何其他参数。

4

3 回答 3

2

没有特定的命令行参数,但是在调用 时jarsigner,您仍然可以将java.home属性设置为指向与您的应用程序捆绑在一起的所需 JRE。

例如,您可以使用以下jarsigner任一方式调用:

  • ProcessBuilder并设置java.home属性,
  • Runtime.exec()允许设置envp环境变量的变体,
  • 或批处理/shell脚本并JAVA_HOME在其中设置属性。
于 2012-06-12T07:57:05.757 回答
1

让 jarsigner 使用 JRE 而不是 JDK。需要从 JDK 将这些文件捆绑到 JRE 中

从 \bin\jarsigner.exe 到 \bin\jarsigner.exe 从 \bin\msvcr100.dll 到 \bin\msvcr100.dll 从 \bin\jli.dll 到 \bin\jli.dll 从 \lib\tool.jar 到\lib\tool.jar 我对此进行了测试,发现它对我有用。

于 2014-02-06T22:07:28.737 回答
0

从Java 打开注册表项错误中被盗

如果有,请删除。

在 32 位机器上

Windows\System32 文件夹中的 java.exe、javaw.exe 和 javaws.exe

在 64 位机器上

从 Windows\SysWOW64 中删除。

于 2012-06-12T07:10:52.790 回答