Подтвердить что ты не робот

Tomcat 6 JAVA_HOME

Я пытаюсь установить путь JAVA_HOME, поскольку мой Tomcat-сервер ищет его. Я пытаюсь установить его, но он, похоже, не работает и вызывает ошибку, когда я это делаю. Я пытаюсь установить JAVA в setclasspath.bat, используя

set JAVA_HOME="C:\Program Files (x86)\Java\jre7"

Это в начале setclasspath.bat

set JAVA_HOME="C:\Program Files (x86)\Java\jre7"
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit

Когда я устанавливаю это и запускаю "startup.bat start", он отображает

В это время файлы были неожиданными

Можете ли вы мне помочь?

4b9b3361

Ответ 1

Вы указываете на JRE. Вы должны указать на JDK, который, учитывая расположение вашего JRE, может быть чем-то вроде C:\Program Files (x86)\Java\jdk1.6.0_26 или аналогичным. Или, если у вас установлена ​​только JRE, вам необходимо установить полный JDK. Tomcat должен иметь возможность компилировать JSP в файлы .class, которые JRE не может сделать.

Ответ 2

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

Во-первых: Tomcat не нуждается в JDK для запуска, он будет отлично работать с JRE, если он знает JRE.

Во-вторых, ошибка из исходного вопроса исходит из проблемы с синтаксисом команды set JAVA_HOME=.... Апачи сами справлялись с этим, снимая и добавляя " кавычки.

Кроме того, я настоятельно рекомендую создать файл setenv.bat в папке bin. Он отсутствует по умолчанию, поэтому, если у вас его еще нет, создайте его и добавьте туда строки set JAVA_HOME=... или set JRE_HOME=....

Запустить с помощью JRE

По running.txt:

Переменная JRE_HOME используется для указания местоположения JRE. Переменная JAVA_HOME используется для указания местоположения JDK.

Использование JAVA_HOME обеспечивает доступ к некоторым дополнительным параметрам запуска которые не допускаются при использовании JRE_HOME.

Если указаны JRE_HOME и JAVA_HOME, используется JRE_HOME.

Итак, чтобы запустить этот путь, вам понадобится следующее:

set "JAVA_HOME="
set "JRE_HOME=C:\Program Files (x86)\Java\jre7"

Удаление переменной JAVA_HOME является отказоустойчивым, но это не требуется. Согласно документам, Tomcat сначала попытается использовать переменную JRE.

Решение проблемы в вопросе

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

Например:

set %TEST%="hello"
echo "%TEST%"

Выведет ""hello"".

set "%TEST%=hello"
echo "%TEST%"

Выведет "hello".

Итак, начальный пакетный файл script пытался использовать ""C:\Program Files (x86)\Java\jre7"", в котором первое неэкранированное пространство находится между "Программой" и "Файлы".

Как уже указывалось, удаление кавычек (в данном конкретном случае, по крайней мере) будет работать, но это опасно полагаться на это. Скорее играйте это с самого начала и оберните имя и значение переменной в кавычки.

Ответ 3

У меня была такая же проблема в Windows 7 со следующим определением (я поместил ее в файл setenv.bat в папку bin jdk, как указано tomcat 7 RUNNING.txt.

set JAVA_HOME="C:\Program Files (x86)\Java\jre7"

Я просто попытался удалить двойные кавычки:

set JAVA_HOME=C:\Program Files (x86)\Java\jre7

Затем запустился tomcat.

Ответ 4

Поместите путь в кавычки:

set JAVA_HOME="C:\Program Files (x86)\Java\jre7"

Ошибка связана с тем, что он анализирует файлы в Program Files как отдельный параметр, который SET не ожидает. Почему SET не читает его правильно, я не могу сказать, не зная больше о том, какую ОС вы используете, в какой командной оболочке вы используете Tomcat и т.д.

Ответ 5

Причина, по которой ваша команда не удалась, состоит в том, что она имеет пробелы между "Program Files (x86)", и поэтому она начинает считывать команду из "Файлы (x86)". Поэтому вместо этого мы ставим его между двойными кавычками, такими как следующее. попробуйте это.

set JAVA_HOME="C:\"Program Files (x86)"\Java\jre7"

Ответ 6

  • Сначала установите java и найдите путь установки.
  • Найдите путь установки tomcat и найдите startup.bat в \bin
  • Откройте startup.bat и добавьте строки ниже (пример) сразу после setlocal и до rem Guess CATALINA_HOME if not defined
:: JAVA
set JAVA_HOME=D:\thushara_data\Java\jdk1.8.0_73
set PATH=%JAVA_HOME%\bin;%PATH%

Теперь попробуйте перезапустить startup.bat