我正在尝试使用the instructions in this article发现Java Runtime中的受信任权限列表。当我输入以下命令时:
C:\ColdFusion8\runtime\jre\lib>keytool -list -storepass changeit -noprompt -keystore
我收到以下错误:
'keytool'未被识别为内部或外部命令,可操作程序或批处理文件。
我检查了包含我的keytool可执行文件的目录是否在路径中。
(在我的Windows 7机器上,它位于C:\Program Files (x86)\Java\jre6\bin
)
尽管如此,命令行仍无法识别keytool
命令。
我假设doc中提到了两个独立的命令:
C:\CFusionMX\runtime\jre\lib>keytool -list -storepass changeit -noprompt -keystore
C:\CFusionMX\runtime\jre\lib\security\cacerts
修改
顺便说一下,我可以使用以下过程而不是答案中提到的复杂步骤吗?
然后我点击了“安装证书”选项
打开证书导入向导窗口,我点击了Next我看到了两个选项
我决定选择(b)
选项,但我很困惑我应该选择哪个证书库。
答案 0 :(得分:29)
将JDK的 / bin 文件夹添加到PATH
环境变量中。您可以在系统设置>下执行此操作环境变量,或通过CLI:
set PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_80\bin
关闭并重新打开CLI窗口
答案 1 :(得分:23)
您收到该错误是因为keytool
可执行文件位于bin
目录下,而不是示例中的lib
目录。您还需要在命令行中添加keystore
的位置。这里有一个很好的参考 - Jrun Help / Import certificates | Certificate stores | ColdFusion
默认信任库是JRE的cacerts文件。此文件通常位于以下位置:
服务器配置:
cf_root /运行/ JRE / LIB /安全/ cacerts中
JRun 4配置上的Multiserver / J2EE:
jrun_root / JRE / LIB /安全/ cacerts中
Sun JDK安装:
jdk_root / JRE / LIB /安全/ cacerts中
请参阅其他J2EE应用程序服务器和JVM的文档
keytool是Java SDK的一部分,可以在以下位置找到:
服务器配置:
cf_root /运行/ bin中/密钥工具
JRun 4配置上的Multiserver / J2EE:
jrun_root / JRE / bin中/密钥工具
Sun JDK安装:
jdk_root / bin中/密钥工具
请参阅其他J2EE应用程序服务器和JVM的文档
因此,如果您导航到keytool
可执行文件所在的目录,您的命令行将如下所示:
keytool -list -v -keystore JAVA_HOME\jre\lib\security\cacert -storepass changeit
您需要提供路径信息,具体取决于您运行keytool命令的位置以及证书文件所在的位置。
此外,请确保您正在更新ColdFusion正在使用的正确cacerts文件。如果您在该服务器上安装了多个JRE。您可以在“系统信息”下验证管理员使用的JRE ColdFusion。查找Java Home行。
答案 2 :(得分:7)
将cmd作为以管理员身份运行运行,这对我有用
答案 3 :(得分:2)
执行以下命令:
set PATH="C:\Program Files (x86)\Java\jre7"
(在64位的情况下,以JRE
为准)。
由于未设置Java Path,因此您只需在命令行执行此操作,然后执行keytool
import命令。
答案 4 :(得分:1)
一个简单的错误解决方案是,您首先需要在命令提示符下更改文件夹目录。默认情况下,在命令提示符或终端(位于底部的Android Studio内部)标签中 路径设置为 C:\ Users#您选择的PC的名称\ AndroidStudioProjects#app名称\ flutter_app> 进行相应更改:- C:\ Users#您选择的PC的名称\ AndroidStudioProjects#app名称\ flutter_app> cd \
答案 5 :(得分:0)
我终于解决了问题!!!您首先应该通过导航到以下位置来设置系统变量的 jre 路径:
control panel > System and Security > System > Advanced system settings
在系统变量下,点击新
Variable name: KEY_PATH
Variable value: C:\Program Files (x86)\Java\jre1.8.0_171\bin
变量值应为JDK的bin文件夹的路径。
然后打开命令提示符,然后将目录更改为相同的JDK的bin文件夹
C:\Program Files (x86)\Java\jre1.8.0_171\bin
然后粘贴
keytool -list -v -keystore "C:\Users\user\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
注意:人们对jre和jdk感到困惑。我所做的只是严格地应用于 jre
答案 6 :(得分:0)
确保已设置JAVA_HOME以及环境变量中的路径。 PATH应该能够找到keytools.exe
打开“ Windows搜索”并搜索“环境变量”
在“系统变量”下,单击“新建...”按钮,并输入JAVA_HOME作为“变量名”,并在“变量值”下输入Java JDK目录的路径,该路径应类似于此C:\ Program Files \ Java \ jre1.8.0_231