我内置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是存在的。
有没有具体的命令行参数,但是在调用jarsigner
,你仍然可以设置java.home
属性指向您的应用程序捆绑在一起所需的JRE。
例如,你可以调用jarsigner
有两种:
-
ProcessBuilder
并设置java.home
属性, - 或的变体
Runtime.exec()
允许设置envp
环境变量, - 或批处理/ shell脚本,并设置
JAVA_HOME
属性在里面。
为了与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我这个测试,发现它为我工作。
从偷来的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