gpt4 book ai didi

java - 在 Ubuntu 上安装 Jetty,获取 com.sun.tools.javac.Main 不在类路径上

转载 作者:行者123 更新时间:2023-11-29 06:08:14 31 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 11.04 上安装 Jetty,但我正要竭尽全力。我遇到了类路径问题。我使用 start.jar 启动 Jetty,将 JAVA_HOME 设置为指向 JDK。

/usr/share/jetty$ export JAVA_HOME=/usr/lib/jvm/java-6-sun
/usr/share/jetty$ java -jar start.jar

[...]

com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-6-sun-1.6.0.26/jre"

at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:127)
...

请注意,它忽略了我设置的 JAVA_HOME,并使用了 jre.我也试过这个:

java -classpath /usr/lib/jvm/java-6-sun/lib/tools.jar -jar start.jar

同样的错误信息。它没有找到 com.sun.tools.javac.Main,它在 tools.jar 中。

在 Jetty 的内部,当它试图编译我的 .jsp 时,它正在使用 Ant,我猜这是在做某种类加载器技巧。有谁知道告诉这个胡思乱想的软件在哪里可以找到我的 tools.jar 文件的秘诀是什么?

请注意,我在使用 sun jdk 和 openjdk 时遇到了同样的错误,是的,我确实安装了 JDK,而不仅仅是 JRE。

apt-get 安装 java 的方式是,作为 JDK 一部分的 java 二进制文件指向 JRE。像这样:

ls -alph /usr/lib/jvm/java-6-sun/bin/java
lrwxrwxrwx 1 root root 15 2011-10-25 18:48 /usr/lib/jvm/java-6-sun/bin/java -> ../jre/bin/java

我猜测 Jetty、Jasper 或 Ant 做了一些诡计来尝试根据 java 可执行文件的位置找到 tools.jar,这就是这里失败的原因。

非常感谢任何线索。谢谢!

最佳答案

虽然您正在导出一个新的 JAVA_HOME 环境变量,但我没有看到您也在导出一个新的 PATH 环境变量。您可能仍在从原始 Java 主目录位置获取 java 可执行文件。尝试包含 export PATH=$JAVA_HOME/bin:$PATH

关于java - 在 Ubuntu 上安装 Jetty,获取 com.sun.tools.javac.Main 不在类路径上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894733/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com