各位 Ubuntu 用户,大家好,
我正在尝试学习如何编写 Minecraft 修改。为了遵循我正在使用的教程,我需要运行“gradlew”。命令如下
./gradlew setupDecompWorkspace eclipse
得出以下结论
ERROR: JAVA_HOME is set to an invalid directory: /usr/local/java/jdk1.8.0_20
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
显然我不知道该怎么做,甚至不知道这意味着什么。任何帮助我都非常感谢。
答案1
在运行命令之前尝试输入:
export JAVA_HOME="path_to_java_home"
其中 path_to_java_home 是您的 bin/java 所在的文件夹。
如果 java 已正确安装,您可以使用以下命令找到它的位置:
readlink -f $(which java)
将其放入 JAVA_HOME 时,不要忘记从路径末尾删除 bin/java
答案2
为了使其在 Linux/Ubuntu 上自动运行,请在文件末尾添加以下几行.bashrc
:
JAVA_HOME=$(dirname $( readlink -f $(which java) ))
JAVA_HOME=$(realpath "$JAVA_HOME"/../)
export JAVA_HOME
这将获取 java 可执行文件,然后爬升至目录级别
要在 Debian/Ubuntu 上指定默认的 Java 版本/可执行文件,请运行此命令一次:
sudo update-alternatives --config java
这是基于 Andrew Onischuk 之前的回答(感谢!)
答案3
使用命令获取 Java 路径
whereis java
以下是可能的输出,具体取决于您的默认 Java 版本
java: /usr/bin/java /usr/share/java /usr/lib/jvm/jdk1.8.0_241/jre/bin/java
Maven 需要选择 Java 位置(home),以便您可以使用以下命令导出 Java 路径
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre
这将允许 Maven 在 /etc/environment 文件中选取 Java 版本和位置
您也可以选择使用以下命令手动将其添加到 /etc/environment 中
sudo nano /etc/environment
并编辑JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre/
答案4
使用 sudo 运行
sudo ./gradlew setupDecompWorkspace eclipse
您不是运行此命令的 sudo 执行者
因此添加须藤對它來說。