启动jarsigner.exe上JDK / JRE不是由安装程序安装Windows操作系统(Laun

2019-09-18 00:50发布

我内置JRE文件到我的应用程序的设置,我可以使用的java.exe来执行一些Java特定的任务。

我想用jarsigner.exe但是当我推出的jarsigner,它会检查一些注册表项,并不能发现(因为JRE不是由JRE设置insatalled)他们,并给出错误。

如何指定java.exe的路径的jarsigner

所以它应该使用的java.exe,我点的不是检查注册表中。

错误日志:

错误打开注册表项“SOFTWARE \ JavaSoft的\ Java运行时环境

错误:找不到java.dll

错误:无法找到的Java SE运行时环境

我不知道是那里的jarsigner任何额外的参数可能是定义JAVA_HOME目录,或其他任何定义了的java.exe是存在的。

Answer 1:

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

例如,你可以调用jarsigner有两种:

  • ProcessBuilder并设置java.home属性,
  • 或的变体Runtime.exec()允许设置envp环境变量,
  • 或批处理/ shell脚本,并设置JAVA_HOME属性在里面。


Answer 2:

为了与JRE而不是JDK的jarsigner工作。 需要从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我这个测试,发现它为我工作。



Answer 3:

从偷来的Java错误打开注册表键

如果有删除。

32位机器上

的java.exe,javaw.exe的和javaws.exe从Windows \ System32文件夹

64位机器上

从Windows \ SysWOW64中删除。



文章来源: Launching jarsigner.exe on windows os which jdk/jre not installed by installer