java - 如何更正应该指向 JDK 而不是 JRE 文件夹的 JAVA_HOME?

标签 java debugging jvm java-home catalina

<分区>

我正在尝试使用调试命令在 Ubuntu Linux 上运行 Catalina。我收到以下错误:

JAVA_HOME should point to a JDK in order to run in debug mode.
/bin/sh died with exit status 1

但是,我已尝试将 .bashrc 中的 JAVA_HOME 设置为以下所有内容:

export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386/"
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386"
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386/jre/bin"
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386/jre/bin/"

我错过了什么吗?

最佳答案

在 Debian/Ubuntu 中运行:

$ sudo update-alternatives --config java
Path                                          
---------------------------------------------
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

找出与您的 java 命令链接的可执行文件。

注意:当 update-alternatives--config 选项一起使用时,预期目标是手动设置与命令链接的可执行文件(例如,参见here)。出于我们的目的,我们可以改用 --query 选项。

JDK paths 是这些路径中的前缀,即 jre 之前的前缀。例如,根据以上输出,您可以在 .bashrc 文件中设置 JAVA_HOME:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

因此您可以在运行命令之前导出此路径或前缀,例如:

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 catalina.sh debug

关于java - 如何更正应该指向 JDK 而不是 JRE 文件夹的 JAVA_HOME?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23619545/

相关文章:

java - 使用 JDB(或类似工具)调试 ASM 生成的字节码

java - 在终端中使用 R 时避免在 ctrl+c 上退出 rJava 相关系统

java - 为什么 jmx 中的 G1 Old gen 最大内存等于最大堆大小?

java - 如何实时远程调试更改

java - Maven Surefire 突然开始失败

java - JMonkeyEngine-几何交集 NullPointerException

java - 在类 'dataSource' 中找不到属性 'org.springframework.security.provisioning.JdbcUserDetailsManager' 的 setter

java - 检查类 "respects"接口(interface)是否没有实现

java - sql异常:Parameter index out of range

python - theano - TensorVariable 的打印值