我目前正在尝试在我的 ubuntu 20.04 机器上安装 ghidra。安装时,我得到这个:
******************************************************************
JDK 11+ (64-bit) could not be found and must be manually chosen!
******************************************************************
Enter path to JDK home directory (ENTER for dialog):
所以,我觉得很酷,然后运行:
sudo apt-get install openjdk-11-jdk
如果我现在运行whereis java
:
ask@Garsy:/usr/share/java$ whereis java
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
所以我 cd 到第一个目录,然后看:
ask@Garsy:/usr/share/java$ ls
commons-logging-1.2.jar java-atk-wrapper.jar pdfbox-1.8.16.jar
commons-logging-adapters-1.2.jar java_defaults.mk pdfbox.jar
commons-logging-adapters.jar java_uno.jar ridl-6.4.7.jar
commons-logging-api-1.2.jar juh-6.4.7.jar ridl.jar
commons-logging-api.jar juh.jar unoloader-6.4.7.jar
commons-logging.jar jurt-6.4.7.jar unoloader.jar
fontbox-1.8.16.jar jurt.jar
fontbox.jar libintl.jar
这是一堆jar文件?通常jdk有一个bin文件夹等等?
我还尝试为 ghidra 安装提供“/usr/share/java”,但它抱怨这不是有效的 jdk 主目录,因为它缺少 bin 文件夹。
由于您之前已经检查过whereis
您的二进制文件是否已安装,
现在您可以检查它是否可以正确执行:
它的位置是否属于您的 PATH 变量?尝试命令which java
,它应该返回类似/usr/bin/java
那么它是一个有效的二进制文件吗?尝试使用命令显示其版本java -version
,它应该显示类似
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
JAVA_HOME
环境变量。然后你可以将它设置为你的java安装的主目录,例如JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
为了帮助您检索 Java 主路径,您可以使用which java | xargs realpath
它提供的路径/usr/lib/jvm/java-11-openjdk-amd64/bin/java
(或者您可以ls -l
在提供的路径上多次使用which
),您需要从中删除最新部分/bin/java
。
PS:请注意,如果您的系统需要多个 java 运行时,那么 PATH 解析和 JAVA_HOME 必须匹配相同的版本。
在您方便时,您可以在任何文件夹中解压缩任何特定版本,例如 /my/custom/install/jdk15/ 并覆盖系统路径:
export JAVA_HOME=/my/custom/install/jdk15
export PATH=$JAVA_HOME/bin:$PATH
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句