муравья ошибка JAVA_HOME не указывает на SDK - PullRequest
1 голос
/ 09 июня 2011

Я пытаюсь установить SOLR и запускаю "пример муравья". Сборка идет довольно далеко, но затем выдает ошибку:

/root/apache-solr-3.2.0/solr/common-build.xml:250: The following error occurred while executing this line:
/root/apache-solr-3.2.0/lucene/contrib/contrib-build.xml:58: The following error occurred while executing this line:
/root/apache-solr-3.2.0/lucene/common-build.xml:298: The following error occurred while executing this line:
/root/apache-solr-3.2.0/lucene/common-build.xml:733: Unable to find a javac compiler;
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-1.6.0-openjdk-1.6.0.0.x86_64/jre"

У меня установлена ​​эксплозивность JAVA_HOME (см. Ниже)

# echo $JAVA_HOME
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/

Однако JAVA_HOME при запуске ant показывает как /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre вместо # echo $ JAVA_HOME /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/. Я не могу понять, где это происходит. Я также установил ANT_HOME, как было указано в некоторых других сообщениях, что это может решить проблему.

# echo $ANT_HOME
/usr/share/ant/

Это тоже не исправляет.

1 Ответ

3 голосов
/ 08 ноября 2011

ОК, я смог решить проблему, с которой столкнулся.Я установил JAVA_HOME, но не как системную переменную среды.

По сути, ant запускал новый процесс и не собирал никакие переменные оболочки, которые я установил.Поэтому, хотя моя текущая оболочка могла видеть $ JAVA_HOME, во время работы ant она не могла.Это был полезный комментарий Брайана Келли по вопросу:

What does java.home show if you run: ant -diagnostics | grep java.home

Это показало, что муравей по местоположению ищет java по умолчанию, и доказало, что моя переменная не была выбрана.

На машине, к которой я был подключен, был запущен bash, поэтому мне пришлось поместить строки ниже в .bash_profile:

JAVA_HOME=/usr/java/jdk1.6.0_18
export JAVA_HOME

После этого он работал без сбоев.

Надеюсь, это кому-нибудь поможет.

...