我在 CentOS 6 服务器上安装了 jetty,但是当我尝试访问 jetty 的 WAR 示例时出现此错误:
org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required
yum 说 JDK 1.6 已经安装,当我运行
locate javac
没有返回任何相关内容。
我补充/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin
说$PATH
但我认为这仍然是 JRE 而不是 JDK。
我下载并执行了java_ee_sdk-6u4-jdk7-linux-x64.sh
但它输出Could not locate a suitable jar utility.
有人知道如何在这台服务器上安装 Java 开发工具包 1.6 吗?
编辑:我更新了 JAVA_HOME 和 PATH,但仍然出现相同的错误。我将以下命令添加到我的 bash_profile 中:
export PATH=/usr/java/latest/bin:$PATH:$HOME/bin
export JAVA_HOME=/usr/java/latest/
但是我收到意外的 EOF 语法错误
编辑2:
我安装了jdk-7-linux-x64.rpm
其他的,因为其他的都不起作用,它在中生成了新文件/usr/java/
。不幸的是,在向 java 添加新路径后它仍然不起作用。
提前致谢
答案1
java-1.6.0-openjdk-devel
您也需要安装。
答案2
因此,主要答案是:一旦您找到 javac 的位置,使用“alternatives”命令设置默认的 javac 和 java,然后将 JAVA_HOME 设置为 /usr,您的生活就会变得更好。以下是简单的说明: http://www.rndblog.com/how-to-switch-java-in-centos/
现在,让我们尝试查找 javac。我希望它位于 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin - 该目录存在吗?如果不存在,那么 /usr/java 下有什么 - 那里有 /usr/java/jdkxxxx 吗?如果有,请检查 /usr/java/jdkxxxx/bin。
答案3
您已設定JAVA_HOME
為/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64
嗎?