我没有设置java_home
,我需要知道c:\Windows\System32\java.exe
文件指向的位置。
我的系统上有几个JDK和JRE。
原因是我尝试通过SSL连接到某个服务器,并且在我将证书导出到适当的JRE(我可以通过Netbeans选项看到)之后,它在Netbeans中工作
但是,当我通过命令行连接时,出现SSL错误。我尝试将证书添加到我的所有JRE中,但我无法让它工作。我认为这个Windows快捷方式指向某个我忽略的地方是一个问题。
有没有一种简单的方法可以找出哪个JRE是默认的?
[编辑]或者我需要在默认的JRE中找到默认密钥库的位置。
[编辑]我的问题详述如下:
以下两个给出了SSL错误:
"c:\Program Files\Java\jre6\bin\java.exe" -cp myjar.jar mypackage.myclass
"c:\Program Files (x86)\Java\jre6\bin\java.exe" -cp myjar.jar mypackage.myclass
以下两项工作
"c:\Program Files\Java\jdk1.6.0_24\bin\bin\java.exe" -cp myjar.jar mypackage.myclass
"c:\Program Files (x86)\jdk1.6.0_24\bin\jre6\bin\java.exe" -cp myjar.jar mypackage.myclass
我已使用所有四个命令导出证书:
"c:\Program Files\Java\jdk1.6.0_24\bin\bin\keytool.exe" -import -alias myalias -file mycertfile
"c:\Program Files (x86)\Java\jdk1.6.0_24\bin\bin\keytool.exe" -import -alias myalias -file mycertfile
"c:\Program Files\Java\jre6\bin\bin\keytool.exe" -import -alias myalias -file mycertfile
"c:\Program Files (x86)\Java\jre6\bin\bin\keytool.exe" -import -alias myalias -file mycertfile
因此,keytool似乎使用与java.exe
不同的商店。
希望得到一些帮助。
答案 0 :(得分:6)
我找到了解决方案。感谢this link。
它提到了密钥库的位置。令人惊讶的是,它花了一些谷歌搜索。
位置为jre6\lib\security\cacerts
所以我必须使用以下命令导入证书:
keytool.exe -import -alias myalias -file mycertfile -keystore "c:\Program Files\Java\jre6\lib\security\cacerts"
答案 1 :(得分:1)
您应该从Java控制面板的Java选项卡中查看“Java Application Runtimes Setting”。
http://download.oracle.com/javase/1.5.0/docs/guide/deployment/deployment-guide/jcp.html
在此选项卡中,您可以禁用/启用任何正在运行的版本,您可以看到当前系统JVM版本是什么......