keytool错误bash:keytool:找不到命令

use*_*929 34 java ssl tomcat certificate keytool

我试图从Java bin目录执行keytool但是我收到一个错误警告bash:keytool:command not found.

root@xxxxxx]# keytool -genkey -alias mypassword -keyalg RSA

bash: keytools: command not found
Run Code Online (Sandbox Code Playgroud)

use*_*929 46

这些是解决我的问题的步骤:

  • 将 `export PATH=$PATH:/path/to/jre/bin` 添加到你的 `.bashrc` 文件中。 (8认同)

Mic*_*ael 13

使用

./keytool -genkey -alias mypassword -keyalg RSA
Run Code Online (Sandbox Code Playgroud)

  • 生成的文件位置在哪里? (2认同)

小智 13

这对我有用

sudo apt install openjdk-8-jre-headless
Run Code Online (Sandbox Code Playgroud)


小智 6

找到您的 jre 位置 ::sudo find / -name jre 然后 ::sudo update-alternatives --install /usr/bin/keytool keytool /opt/jdk/<jdk.verson>/jre/bin/keytool 100


P.R*_*.R. 6

如果您正在寻找是keytool因为您正在使用 Android Studio / Google Firebase,那么 Android Studio 捆绑了一个 keytool。解压zip文件后,keytool的路径为android-studio/jre/bin.


lea*_*_19 5

确保安装了jre.

cd /path/to/jre/bin/folder
Run Code Online (Sandbox Code Playgroud)

由于keytool文件存在于jre的bin文件夹中,所以按照上面的命令给路径到bin.

然后你可以这样做:

keytool -genkey -alias aliaskeyname -keyalg RSA -keystore C:\mykeystore
Run Code Online (Sandbox Code Playgroud)

附加选项-keystore将帮助您指定生成自签名证书的路径.


Ald*_*Lau 5

似乎调用sudo update-alternatives --config java效果keytool。根据选择的 Java 版本,它会更改 keytool 是否在路径上。我不得不选择开放的 JDK 而不是 Oracle 的 JDK 才能获得bash: /usr/bin/keytool: No such file or directory.