我还没有设置java_home
,我需要知道c:WindowsSystem32java.exe
文件指向哪里。我的系统上有几个JDK和JRE。
原因是我试图通过SSL连接到某个服务器,在我将证书导出到相应的JRE(我可以通过Netbeans选项看到)后,它在Netbeans中工作
但是,当我通过命令行连接时,我会收到一个SSL错误。我尝试将证书添加到我的所有JRE中,但无法使其工作。我认为这个Windows快捷方式指向我忽略的某个地方是个问题。
有没有一种简单的方法可以找出哪个JRE是默认的JRE?
[EDIT]或者我需要在默认JRE中找到默认密钥库的位置。
[编辑]我的问题详述如下:
以下两个给出SSL错误:
"c:Program FilesJavajre6binjava.exe" -cp myjar.jar mypackage.myclass
"c:Program Files (x86)Javajre6binjava.exe" -cp myjar.jar mypackage.myclass
以下两个工作
"c:Program FilesJavajdk1.6.0_24binbinjava.exe" -cp myjar.jar mypackage.myclass
"c:Program Files (x86)jdk1.6.0_24binjre6binjava.exe" -cp myjar.jar mypackage.myclass
我已经使用所有四个命令导出了证书:
"c:Program FilesJavajdk1.6.0_24binbinkeytool.exe" -import -alias myalias -file mycertfile
"c:Program Files (x86)Javajdk1.6.0_24binbinkeytool.exe" -import -alias myalias -file mycertfile
"c:Program FilesJavajre6binbinkeytool.exe" -import -alias myalias -file mycertfile
"c:Program Files (x86)Javajre6binbinkeytool.exe" -import -alias myalias -file mycertfile
因此,keytool似乎使用了与java.exe
不同的存储。
非常感谢在这方面的帮助。
我找到了解决方案。感谢此链接。
它提到了密钥库的位置。令人惊讶的是,它花了一些谷歌搜索。
位置为jre6libsecuritycacerts
所以我不得不使用以下命令导入证书:
keytool.exe -import -alias myalias -file mycertfile -keystore "c:Program FilesJavajre6libsecuritycacerts"
您应该从Java控制面板的Java选项卡中查看"Java应用程序运行时间设置"。
http://download.oracle.com/javase/1.5.0/docs/guide/deployment/deployment-guide/jcp.html
从这个选项卡中,您可以禁用/启用任何正在运行的版本,并且您可以看到当前系统JVM版本是什么。。。