我正在尝试使用debug命令在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/"
我错过了什么吗?
答案 0 :(得分:1)
在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
找出您的JRE个Java路径,因此您的JDK路径是没有jre
的路径,例如:
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
因此,您可以在运行命令之前export
使用此变量或前缀,例如:
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 catalina.sh debug
答案 1 :(得分:0)
方法1 添加到bashrc即可。
方法2 但我认为更好的方法是将其添加到catalina.sh
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386/jre/bin
方法3 甚至更简洁的方法是创建一个env_var.sh(假设你在与catalina.h相同的文件夹中创建了env_var.sh)文件然后在catalina.sh中使用env_var.sh这样的文件
source ./env_var.sh
现在,您可以在此新文件中输入您自己的环境特定设置,并保持catalina.sh的安静。优点是你不会搞砸catalina.sh并且你不依赖于某个特定用户的bash配置文件。
env_var.sh的简单示例
#!/bin/sh
JAVA_OPTS="$JAVA_OPTS -server"
JAVA_OPTS="$JAVA_OPTS -Xms2096m"
JAVA_OPTS="$JAVA_OPTS -Xmx4096m"
JAVA_OPTS="$JAVA_OPTS -XX:PermSize=128m"
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=512m"
echo Using JAVA_OPTS settings $JAVA_OPTS
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=[some_port]"
echo Using CATALINA_OPTS settings $CATALINA_OPTS
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386
我希望它有所帮助:)