Tomcat 7: “Не может определить местоположение Java Домой”

Я обычно запускаю с lspci. Если Вы знаете, какая карта Вы можете grep для этого:

lspci | grep -i emulex

    13:00.0 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)
    13:00.1 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)

От вывода необходимо смочь удаться, кто заставил карту затем относиться к поддержке поставщика корректных драйверов/встроенного микропрограммного обеспечения.

0
задан 28 December 2011 в 00:09
4 ответа

Я решил эту проблему на этой странице: https://bugs.archlinux.org/task/24126

По сути, вам нужно добавить эти строки в свой / etc / rc .d / tomcat7 файл под строкой ". /etc/conf.d/${daemon_name}"

# The JAVA_HOME of the JVM for Tomcat to use

if [ -x /usr/lib/jvm/java-6-openjdk ]; then
TOMCAT_JAVA_HOME=/usr/lib/jvm/java-6-openjdk
elif [ -x /opt/java/ ]; then
TOMCAT_JAVA_HOME=/opt/java/
fi

# Tomcat additional commandline options
CATALINA_OPTS=

Надеюсь, это поможет.

1
ответ дан 4 December 2019 в 22:00

Вам нужно попробовать сделать:

sudo env

root не должен иметь видеть окружающую среду так, как «мы».

В Руководстве Sudoers говорится об этом ...

Поскольку переменные среды могут влиять на поведение программы, sudoers предоставляет средства для ограничения того, какие переменные из среды пользователя наследуются командой, которая будет запущена .

... и ...

По умолчанию опция env_reset включена. Это приводит к тому, что команды выполняются с минимальной средой, содержащей переменные TERM, PATH, HOME, MAIL, SHELL, LOGNAME, USER, USERNAME и SUDO_ в дополнение к переменным из вызывающего процесса, разрешенным параметрами env_check и env_keep.

My решение было:

# Create a sudoers extension file and authorize passing JAVA_HOME, M2_HOME, etc into new environment
cd ~/
rm -f neededBy*
echo 'Defaults env_keep+="JAVA_HOME M2_HOME CATALINA_HOME TOMCAT_USER"' > neededByTomCat
chmod 0440 neededByTomCat
sudo cp neededByTomCat /etc/sudoers.d/

Надеюсь, это поможет,

0
ответ дан 4 December 2019 в 22:00

Вы что-нибудь получите, набрав "javac" в консоли? Это скажет вам, установлен ли у вас JDK, а не просто JRE. Кроме того, введите команду "which java", чтобы увидеть, с чем связана ваша java. Я никогда не использую ArchLinux, но в Ubuntu и Mint они используют альтернативную систему ссылок, чтобы связать установку Java по умолчанию ... в этом случае я использую инструмент под названием «galternatives» для настройки Oracle Java после его установки.

I не думайте, что Arch Linux использует альтернативную систему, такую ​​как Ubuntu, но похоже, что добавление java в переменную среды PATH в вашем .bashrc было бы подходящим вариантом, а не без необходимости редактировать переменные JAVA_HOME и CATALINA_HOME env в сценарий tomcat (поскольку сценарий должен иметь возможность автоматически определять их на основе расположения двоичных файлов Java).

0
ответ дан 4 December 2019 в 22:00

Откройте catalina.sh и добавьте следующие строки перед первыми строками кода (но, как правило, ниже shebang)

JAVA_HOME=/opt/java
JRE_HOME=/opt/java/jre

Настройте путь в соответствии с вашими потребностями. Для правильной работы Tomcat не нужно манипулировать какой-либо переменной PATH или постоянной переменной.

0
ответ дан 4 December 2019 в 22:00

Теги

Похожие вопросы