Вопрос или проблема
Я пытаюсь запустить Apache Maven на Win7 x64 SP1.
java версия "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
Apache Tomcat 6.0.36 x64 (также пробовал использовать версию 7 и версии x86, без разницы).
Он завершает работу сразу после запуска с ошибкой:
java.util.logging.ErrorManager: 4
java.io.FileNotFoundException: C:\Programs\apache-tomcat-6.0.36" -Dcatalina.home=C:\Programs\apache-tomcat-6.0.36"\logs\catalina.2012-11-30.log
Файл журнала не создан в \apache-tomcat-6.0.36\logs
Я пытался полностью отключить Windows брандмауэр и UAC. Это не помогает.
Кажется, проблема в имени файла с кавычками:
C:\Programs\apache-tomcat-6.0.36"\logs\catalina.2012-11-30.log
Есть предложения, как решить эту проблему?
ОБНОВЛЕНИЕ: добавлены результаты команды SET
C:\Users\Dana>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Dana\AppData\Roaming
CATALINA_HOME=C:\Programs\apache-tomcat-6.0.36\
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DANA-PC
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Dana
JAVA_HOME=C:\Programs\Java\jdk1.7.0
LOCALAPPDATA=C:\Users\Dana\AppData\Local
LOGONSERVER=\\DANA-PC
M3_HOME=C:\Programs\apache-maven-3\
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\;C:\Programs\Java\jdk1.7.0\bin\;C:\Program Files\Microso
ft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web
Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\
;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Programs\apache-maven-
3\\bin\;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 17 Model 3 Stepping 1, AuthenticAMD
PROCESSOR_LEVEL=17
PROCESSOR_REVISION=0301
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Dana\AppData\Local\Temp
TMP=C:\Users\Dana\AppData\Local\Temp
USERDOMAIN=Dana-PC
USERNAME=Dana
USERPROFILE=C:\Users\Dana
VS110COMNTOOLS=C:\Programs\Microsoft Visual Studio 11.0\Common7\Tools\
windir=C:\Windows
windows_tracing_flags=3
windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log
Откройте диалог Переменные среды (XP / Win7) и найдите CATALINA_HOME в разделах переменных пользователя и системы. Если в конце есть лишняя кавычка, удалите ее, нажмите OK и повторите попытку загрузки Tomcat.
Для всех, кто ищет решение:
Удалите обратный слеш в конце
CATALINA_HOME=C:\Programs\apache-tomcat-6.0.36\
на
CATALINA_HOME=C:\Programs\apache-tomcat-6.0.36
Это сработало для меня
Ответ или решение
Решение проблемы с созданием лог-файла Apache Tomcat
Если при запуске Apache Tomcat возникает ошибка, связанная с невозможностью создания лог-файла, это может существенно затруднить работу, особенно при настройке сервера на Windows 7 x64 SP1. Давайте рассмотрим шаги, которые помогут устранить эту неисправность.
Диагностика проблемы
На основании предоставленных данных можно выделить основную проблему: путь к файлу лога содержит ошибочные символы, например, избыточные кавычки. Это может привести к ошибке java.io.FileNotFoundException
, которая указывает на то, что система не может определить корректный путь для создания лога.
Устранение проблемы
Шаг 1: Проверьте значение переменной окружения CATALINA_HOME
- Откройте диалоговое окно "Переменные среды" (Control Panel → System and Security → System → Advanced system settings → Environment Variables).
- Найдите переменную
CATALINA_HOME
. У вас должно быть установлено:CATALINA_HOME=C:\Programs\apache-tomcat-6.0.36
Убедитесь, что в конце нет обратной косой черты (
\
) и лишних кавычек. Наличие косой черты вызывает добавление ненужных символов в путь к файлам лога, что может приводить к ошибке.
Шаг 2: Исправьте файл конфигурации
- Откройте каталог, в котором установлен Apache Tomcat.
- Перейдите в папку
conf
и откройте файлlogging.properties
. - Убедитесь, что пути к лог-файлам правильно указаны. Убедитесь, что путь логов указан как
C:\Programs\apache-tomcat-6.0.36\logs\catalina.%d.%u.log
Это обеспечит создание логов в правильной директории.
Шаг 3: Оптимизация настроек безопасности
Если проблема сохраняется, временно отключите антивирусное ПО и UAC (User Account Control), чтобы проверить, не блокируют ли они доступ к файловой системе. Учтите, что это необходимо делать с осторожностью и только в случае крайней необходимости.
Шаг 4: Проверка прав доступа
Убедитесь, что у пользователя, который запускает Tomcat, есть полные права на запись в каталог logs
. Для этого:
- Перейдите в свойства папки
logs
. - На вкладке "Безопасность" убедитесь, что вашему пользователю доступны полные права (чтение, запись, изменение).
Заключение
Следуя вышеописанным шагам, вы сможете устранить проблему с невозможностью создания лог-файла в Apache Tomcat. Корректная настройка переменных окружения и проверка прав доступа помогут в значительной степени минимизировать появление ошибок в будущем. Если проблема не исчезнет, вам стоит рассмотреть возможность обновления до более поздней версии Java или Tomcat, чтобы обеспечить совместимость с вашим окружением.