我试图从 Java bin 目录执行 keytool,但我收到警告 bash: keytool: command not found 的错误。
root@xxxxxx]# keytool -genkey -alias mypassword -keyalg RSA
bash: keytools: command not found
我试图从 Java bin 目录执行 keytool,但我收到警告 bash: keytool: command not found 的错误。
root@xxxxxx]# keytool -genkey -alias mypassword -keyalg RSA
bash: keytools: command not found
这些是解决我的问题的步骤:
搜索我的java安装路径
find / -name jre
移动到 java 目录(我的服务器上安装了 jre)
cd /path/to/jre/bin
使用 keytool 命令创建 SSL 证书
./keytool -genkey -alias [mypassword] -keyalg [RSA]
采用
./keytool -genkey -alias mypassword -keyalg RSA
确保已安装 jre。
cd /path/to/jre/bin/folder
由于 jre 的 bin 文件夹中存在 keytool 文件,因此在上面的命令中给出 bin 的路径。
然后你可以这样做:
keytool -genkey -alias aliaskeyname -keyalg RSA -keystore C:\mykeystore
附加选项 -keystore 将帮助您指定生成自签名证书的路径。
找到您的 jre 位置 ::sudo find / -name jre
然后 ::sudo update-alternatives --install /usr/bin/keytool keytool /opt/jdk/<jdk.verson>/jre/bin/keytool 100
如果您正在寻找,keytool
因为您正在使用 Android Studio / Google Firebase,那么 Android Studio 捆绑了一个 keytool。解压 zip 文件后,keytool 的路径为android-studio/jre/bin
.
似乎调用会sudo update-alternatives --config java
影响 keytool。根据选择的 Java 版本,它会改变 keytool 是否在路径上。我不得不选择开放的 JDK 而不是 Oracle 的 JDK 才能获得bash: /usr/bin/keytool: No such file or directory
.
这对我有用
sudo apt install openjdk-8-jre-headless
Keytool 随您的 Java 库一起提供。因此,您必须从 /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/bin 目录执行 Keytool 命令。或者您可以将 JAVA_HOME 添加到您的环境变量 (Windows) 或 ~/.bash_profile (Linux)
你试过:
sudo apt-get install oracle-java6-installer --reinstall
和:
sudo update-alternatives --config keytool
你也可以像这样把它放在一行上:
/path/to/jre/bin/keytool -genkey -alias [mypassword] -keyalg [RSA]
想将此作为对 piet.t 答案的评论,但我没有足够的代表发表评论。
请参阅本文的“签名”部分,该部分描述了如何在不将工作目录更改为路径的情况下访问 keytool.exe: https ://flutter.dev/docs/deployment/android#signing-the-app
请注意,他们说您可以输入空格分隔的文件夹名称,如 /"Program Files"/ 带引号,但我发现在 bash 中我必须用反斜杠(如 /Program\ Files/)分隔。
如果 jre 已正确安装在您的机器上,则在 jre 或 jre/bin 中查找 keytool
要查找 jre 的安装位置,请使用此
sudo find / -name jre
然后在 path_to_jre 或 path_to_jre/bin 中寻找 keytool
cd 到 keytool 位置
然后运行 ./keytool
确保将路径添加到 $PATH 通过
导出 PATH=$PATH:location_to_keytool
为了确保你在这之后得到它,运行
密钥工具在哪里
为将来编辑您的 bash 或 zshrc 文件并获取它
如果您不使用 openjdk,请使用以下命令设置您的 keytool。
sudo update-alternatives --install "/usr/bin/keytool" "keytool" "/usr/lib/jvm/java8/jdk1.8.0_251/bin/keytool" 1
和
sudo update-alternatives --set keytool /usr/lib/jvm/java8/jdk1.8.0_251/bin/keytool
这对我有用!
请按照以下步骤操作:
首先使用命令设置域setDomain.sh
转到domain/bin
位置并执行./setDomain.sh
命令
转到java/bin
文件夹并执行keytool
命令。
keytool -genkey -keyalg RSA -kaysize 2048 -alias name -kaystore file.jks