Как я могу изменить JAVA_HOME для муравья? - PullRequest
30 голосов
/ 21 февраля 2009

Я делаю Java-работу на сервере классов, где у меня нет root. Всякий раз, когда я пытаюсь скомпилировать, используя ant, он указывает на неправильный каталог (/usr/tomcat вместо /usr/tomcat/jre).

Одна из вещей, которую нам сказали сделать при настройке наших учетных записей, - добавить export JAVA_HOME=/usr/tomcat/jre в файл .bashrc. Я не знаю, должно ли это решить проблему, но, похоже, это не так.

Итак, как я могу изменить свойство JAVA_HOME для ant, но только когда я запускаю ant?

EDIT: echo $JAVA_HOME указывает на /usr/tomcat/jre echo $JAVA_HOME\bin указывает на /usr/tomcat/jrebin

Проблема в том, что когда я обычно запускаю ant, я получаю эту ошибку:

Unable to locate tools.jar. Expected to find it in /usr/tomcat/lib/tools.jar
Buildfile: build.xml

compile:
    [javac] Compiling 1 source file to /home/ejm244/build/classes

BUILD FAILED
/home/ejm244/build.xml:9: 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

Total time: 0 seconds

Ответы [ 14 ]

0 голосов
/ 17 марта 2013

При запуске ant из оболочки вам не нужно сначала export JAVA_HOME, что бы установить эту переменную для вашей текущей оболочки и всех будущих команд, вместо этого используйте

user@host:~# JAVA_HOME=/path/to/jdk ant targets
0 голосов
/ 24 августа 2012

попробуйте с этим:

/usr/sbin/update-alternatives --config java
0 голосов
/ 20 сентября 2011

java_home всегда указывает на jdk, компилятор, который дал вам классы, и jre - это способ, которым ваш браузер или что-то другое скомпилирует классы, поэтому он должен иметь соответствие между jdk и jre в версии.

0 голосов
/ 02 июня 2009

Вам нужно изменить путь JAVA_HOME на каталог Java SDK вместо каталога Java RE. В Windows вы можете сделать это, используя команду set в командной строке.

, например

set JAVA_HOME = "C: \ Program Files \ Java \ jdk1.6.0_14"

...