Я пытаюсь установить Jetty на Ubuntu 11.04, и я собираюсь вырвать свои волосы.Я сталкиваюсь с проблемой classpath.Я запускаю Jetty с start.jar, устанавливая 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, двоичный файл java, который является частью JDK, указывает на 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 предпринимают некоторые хитрости, пытаясь найти tools.jar, основываясь на расположении исполняемого файла java, и это то, что здесь не получается.
Любые подсказки очень ценятся.Спасибо!