我已经将jre文件嵌入到我的应用程序设置中,我可以使用java.exe来执行一些特定于java的任务。
我想使用jarsigner.exe但是当我启动jarsigner时,它会检查一些注册表项,并且找不到(因为jre没有被jre设置),并且会出错。
如何指定jarsigner的java.exe路径
这样它应该使用我指向的java.exe而不是检查注册表。
错误日志:
打开注册表项'Software \ JavaSoft \ Java Runtime Environment
时出错错误:找不到java.dll
错误:找不到Java SE Runtime Environment
我想知道是否有jarsigner的额外参数可以定义JAVA_HOME目录,或者定义java.exe存在位置的任何其他参数。
答案 0 :(得分:2)
没有特定的命令行参数,但是在调用jarsigner
时,您仍然可以将java.home
属性设置为指向与您的应用程序捆绑在一起的所需JRE。
例如,您可以使用以下任一方式调用jarsigner
:
ProcessBuilder
并设置java.home
属性Runtime.exec()
的变体,允许设置envp
环境变量JAVA_HOME
属性。答案 1 :(得分: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 我用这个测试过,发现它适合我。
答案 2 :(得分:0)
从Java Error opening registry key
被盗删除,如果有的话。
在32位机器上
Windows \ System32文件夹中的java.exe,javaw.exe和javaws.exe
在64位机器上
从Windows \ SysWOW64中删除。