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", он отображает
В это время файлы были неожиданными
Можете ли вы мне помочь?
Ответы
Ответ 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
Ответ 7
Try
https://askubuntu.com/info/446294/how-to-start-tomcat7-when-catalina-sh-does-not-work
Это может дать вам некоторое представление, даже если это не Windows, он по-прежнему ищет эти сценарии оболочки, за исключением их расширений в Window.bat not.sh