Keytool未被识别为内部或外部命令

Jac*_*ack 24 java coldfusion keytool

我试图使用本文中的说明发现Java Runtime中的受信任权限列表.当我输入以下命令时:

C:\ColdFusion8\runtime\jre\lib>keytool -list -storepass changeit -noprompt -keystore
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

'keytool'不被识别为内部或外部命令,可操作程序或批处理文件.

我检查了包含我的keytool可执行文件的目录是否在路径中.(在我的Windows 7机器上,它在C:\Program Files (x86)\Java\jre6\bin)尽管如此,命令行将无法识别该keytool命令.

我假设doc中提到了两个单独的命令:

  1. C:\CFusionMX\runtime\jre\lib>keytool -list -storepass changeit -noprompt -keystore

  2. C:\CFusionMX\runtime\jre\lib\security\cacerts

编辑:

那么我可以使用以下过程而不是答案中提到的复杂步骤吗?

  1. 当我将WSDL打开到浏览器中时,我看到了Lock图标,当我点击它时会打开一个"Certificate"窗口
  2. 然后我点击"安装证书"选项

  3. 打开证书导入向导窗口,我单击Next我看到两个选项

    • a)根据证书类型自动选择证书存储(自动选择此选项)
    • b)将所有证书放在以下商店中

我决定选择选项(b),但我很困惑我应该选择哪个证书库.

mar*_*kas 33

  1. 将JDK的/ bin文件夹添加到PATH环境变量中.您可以在系统设置>环境变量下或通过CLI执行此操作:

    set PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_80\bin
    
    Run Code Online (Sandbox Code Playgroud)
  2. 关闭并重新打开CLI窗口


Mig*_*l-F 23

您收到该错误,因为keytool可执行文件位于bin目录下,而不是lib示例中的目录.您还需要keystore在命令行中添加您的位置.这里有一个非常好的参考 - Jrun帮助/导入证书| 证书店| ColdFusion的

默认信任库是JRE的cacerts文件.此文件通常位于以下位置:

  • 服务器配置:

    cf_root /运行/ JRE/lib/security中/ cacerts中

  • JRun 4配置上的Multiserver/J2EE:

    jrun_root/JRE/lib/security中/ cacerts中

  • Sun JDK安装:

    jdk_root/JRE/lib/security中/ cacerts中

  • 请参阅其他J2EE应用程序服务器和JVM的文档


keytool是Java SDK的一部分,可以在以下位置找到:

  • 服务器配置:

    cf_root /运行/斌/密钥工具

  • JRun 4配置上的Multiserver/J2EE:

    jrun_root/JRE /斌/密钥工具

  • Sun JDK安装:

    jdk_root /斌/密钥工具

  • 请参阅其他J2EE应用程序服务器和JVM的文档

因此,如果您导航到keytool可执行文件所在的目录,您的命令行将如下所示:

keytool -list -v -keystore JAVA_HOME\jre\lib\security\cacert -storepass changeit
Run Code Online (Sandbox Code Playgroud)

您需要提供路径信息,具体取决于您运行keytool命令的位置以及证书文件所在的位置.

此外,请确保您正在更新ColdFusion正在使用的正确cacerts文件.如果您在该服务器上安装了多个JRE.您可以在"系统信息"下验证管理员使用的JRE ColdFusion.查找Java Home行.


小智 8

运行cmd作为管理员运行这对我有用