大约1个月前,我仍然可以运行TeamCity服务器,但到目前为止,它说找不到1.8版本的Java可执行文件。
我已经设置了环境变量:
JAVA_HOME=C:\Program Files\JAVA\jdk-11.0.1
JRE_HOME=C:\Program Files\Java\jre1.8.0_192
CATALINA_HOME=C:\apache-toncat-9.0.12
在Path变量中,我已将其设置为:
%JAVA_HOME%\bin;%JRE_HOME%\bin;%目录_主页%\lib
但它仍然表示找不到JAVA_HOME或JRE_HOME。
我在下面附上了TeamCity服务器日志。
[2018-11-27 10:50:45,773] FileTaskSettings [Info] Parsing service settings
[2018-11-27 10:50:45,774] FileTaskSettings [Info] Program to execute: C:WINDOWSsystem32cmd.exe
[2018-11-27 10:50:45,774] FileTaskSettings [Info] Program arguments: /c teamcity-server.bat run service
[2018-11-27 10:50:45,774] FileTaskSettings [Info] Program work dir: c:TeamCitybin
[2018-11-27 10:50:45,774] FileTaskSettings [Info] Program stop timeout: 900000
[2018-11-27 10:50:45,774] CreateServiceSettingsAction [Info] Service log file is set to: c:TeamCitylogsteamcity-winservice.log
[2018-11-27 10:50:45,774] CreateServiceSettingsAction [Info] Installing service unser LOCAL_SYSTEM account
[2018-11-27 10:50:45,776] CreateServiceCommand [Info] Service 'TeamCity' was created
[2018-11-27 10:50:45,778] CreateServiceAction [Info]
[2018-11-27 10:50:45,778] CreateServiceAction [Info] Use the folloging commands to start/stop the service:
[2018-11-27 10:50:45,778] CreateServiceAction [Info] net.exe start TeamCity
[2018-11-27 10:50:45,778] CreateServiceAction [Info] to start service
[2018-11-27 10:50:45,778] CreateServiceAction [Info]
[2018-11-27 10:50:45,778] CreateServiceAction [Info] net.exe stop TeamCity
[2018-11-27 10:50:45,778] CreateServiceAction [Info] to stop service
[2018-11-27 10:50:45,778] CreateServiceAction [Info]
[2018-11-27 11:20:16,283] FileTaskSettings [Info] Parsing service settings
[2018-11-27 11:20:16,283] FileTaskSettings [Info] Program to execute: C:WINDOWSsystem32cmd.exe
[2018-11-27 11:20:16,283] FileTaskSettings [Info] Program arguments: /c teamcity-server.bat run service
[2018-11-27 11:20:16,283] FileTaskSettings [Info] Program work dir: c:TeamCitybin
[2018-11-27 11:20:16,283] FileTaskSettings [Info] Program stop timeout: 900000
[2018-11-27 11:20:16,284] CreateServiceSettingsAction [Info] Service log file is set to: c:TeamCitylogsteamcity-winservice.log
[2018-11-27 11:20:16,284] CreateServiceSettingsAction [Info] Installing service unser LOCAL_SYSTEM account
[2018-11-27 11:20:16,286] CreateServiceCommand [Info] Service 'TeamCity' was created
[2018-11-27 11:20:16,287] CreateServiceAction [Info]
[2018-11-27 11:20:16,287] CreateServiceAction [Info] Use the folloging commands to start/stop the service:
[2018-11-27 11:20:16,287] CreateServiceAction [Info] net.exe start TeamCity
[2018-11-27 11:20:16,287] CreateServiceAction [Info] to start service
[2018-11-27 11:20:16,287] CreateServiceAction [Info]
[2018-11-27 11:20:16,288] CreateServiceAction [Info] net.exe stop TeamCity
[2018-11-27 11:20:16,288] CreateServiceAction [Info] to stop service
[2018-11-27 11:20:16,288] CreateServiceAction [Info]
[2018-11-27 11:20:28,729] ThreadedServiceTask [Info] CallStartService
[2018-11-27 11:20:28,729] FileTaskSettings [Info] Parsing service settings
[2018-11-27 11:20:28,730] FileTaskSettings [Info] Program to execute: C:WINDOWSsystem32cmd.exe
[2018-11-27 11:20:28,730] FileTaskSettings [Info] Program arguments: /c teamcity-server.bat run service
[2018-11-27 11:20:28,730] FileTaskSettings [Info] Program work dir: c:TeamCitybin
[2018-11-27 11:20:28,730] FileTaskSettings [Info] Program stop timeout: 900000
[2018-11-27 11:20:28,834] console [Info] Starting TeamCity server
[2018-11-27 11:20:28,835] console [Info] Looking for installed Java...
[2018-11-27 11:20:29,138] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:29,138] console [Info] operable program or batch file.
[2018-11-27 11:20:29,340] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:29,340] console [Info] operable program or batch file.
[2018-11-27 11:20:29,845] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:29,845] console [Info] operable program or batch file.
[2018-11-27 11:20:30,350] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:30,350] console [Info] operable program or batch file.
[2018-11-27 11:20:30,451] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:30,451] console [Info] operable program or batch file.
[2018-11-27 11:20:30,653] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:30,653] console [Info] operable program or batch file.
[2018-11-27 11:20:30,653] console [Info]
[2018-11-27 11:20:30,653] console [Info] Java executable of version 1.8 is not found:
[2018-11-27 11:20:30,653] console [Info] - Java executable is not found under the specified directories: "c:TeamCityjre"
[2018-11-27 11:20:30,653] console [Info] - Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
[2018-11-27 11:20:30,653] console [Info] - Path to JVM is not found in Windows registry
[2018-11-27 11:20:30,653] console [Info] - Java executable is not found in the default locations
[2018-11-27 11:20:30,653] console [Info] - Java executable is not found in the directories listed in the PATH environment variable
[2018-11-27 11:20:30,653] console [Info]
[2018-11-27 11:20:30,653] console [Info] Please make sure either JAVA_HOME or JRE_HOME environment variable is defined and is pointing to the root directory of the valid Java (JRE) installation
[2018-11-27 11:20:30,653] console [Info]
[2018-11-27 11:20:30,653] console [Info] Environment variable FJ_DEBUG can be set to enable debug output
[2018-11-27 11:20:30,653] console [Info]
[2018-11-27 11:20:30,653] console [Info] Java not found. Cannot start TeamCity server. Please ensure JDK or JRE is installed and JAVA_HOME environment variable points to it.
[2018-11-27 11:20:30,754] console [Info] Server exited unexpectedly with code 1 and will be restarted
[2018-11-27 11:20:30,754] console [Info] Starting TeamCity server
[2018-11-27 11:20:30,754] console [Info] Looking for installed Java...
[2018-11-27 11:20:30,956] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:30,956] console [Info] operable program or batch file.
[2018-11-27 11:20:31,158] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:31,158] console [Info] operable program or batch file.
[2018-11-27 11:20:31,360] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:31,360] console [Info] operable program or batch file.
[2018-11-27 11:20:31,764] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:31,764] console [Info] operable program or batch file.
[2018-11-27 11:20:31,966] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:31,966] console [Info] operable program or batch file.
[2018-11-27 11:20:32,067] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:32,067] console [Info] operable program or batch file.
[2018-11-27 11:20:32,067] console [Info]
[2018-11-27 11:20:32,067] console [Info] Java executable of version 1.8 is not found:
[2018-11-27 11:20:32,067] console [Info] - Java executable is not found under the specified directories: "c:TeamCityjre"
[2018-11-27 11:20:32,067] console [Info] - Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
[2018-11-27 11:20:32,067] console [Info] - Path to JVM is not found in Windows registry
[2018-11-27 11:20:32,067] console [Info] - Java executable is not found in the default locations
[2018-11-27 11:20:32,067] console [Info] - Java executable is not found in the directories listed in the PATH environment variable
[2018-11-27 11:20:32,067] console [Info]
[2018-11-27 11:20:32,067] console [Info] Please make sure either JAVA_HOME or JRE_HOME environment variable is defined and is pointing to the root directory of the valid Java (JRE) installation
[2018-11-27 11:20:32,067] console [Info]
[2018-11-27 11:20:32,067] console [Info] Environment variable FJ_DEBUG can be set to enable debug output
[2018-11-27 11:20:32,067] console [Info]
[2018-11-27 11:20:32,067] console [Info] Java not found. Cannot start TeamCity server. Please ensure JDK or JRE is installed and JAVA_HOME environment variable points to it.
[2018-11-27 11:20:32,067] console [Info] Server exited unexpectedly with code 1 and will be restarted
[2018-11-27 11:20:32,168] console [Info] Starting TeamCity server
[2018-11-27 11:20:32,168] console [Info] Looking for installed Java...
[2018-11-27 11:20:32,370] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:32,370] console [Info] operable program or batch file.
[2018-11-27 11:20:32,571] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:32,571] console [Info] operable program or batch file.
[2018-11-27 11:20:32,773] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:32,773] console [Info] operable program or batch file.
[2018-11-27 11:20:33,177] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:33,177] console [Info] operable program or batch file.
[2018-11-27 11:20:33,379] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:33,379] console [Info] operable program or batch file.
[2018-11-27 11:20:33,480] console [Info] 'findstr' is not recognized as an internal or external command,
[2018-11-27 11:20:33,480] console [Info] operable program or batch file.
[2018-11-27 11:20:33,480] console [Info]
[2018-11-27 11:20:33,480] console [Info] Java executable of version 1.8 is not found:
[2018-11-27 11:20:33,480] console [Info] - Java executable is not found under the specified directories: "c:TeamCityjre"
[2018-11-27 11:20:33,480] console [Info] - Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
[2018-11-27 11:20:33,480] console [Info] - Path to JVM is not found in Windows registry
[2018-11-27 11:20:33,480] console [Info] - Java executable is not found in the default locations
[2018-11-27 11:20:33,480] console [Info] - Java executable is not found in the directories listed in the PATH environment variable
[2018-11-27 11:20:33,480] console [Info]
[2018-11-27 11:20:33,480] console [Info] Please make sure either JAVA_HOME or JRE_HOME environment variable is defined and is pointing to the root directory of the valid Java (JRE) installation
[2018-11-27 11:20:33,480] console [Info] Team
[2018-11-27 11:20:33,480] console [Info] Environment variable FJ_DEBUG can be set to enable debug output
[2018-11-27 11:20:33,480] console [Info]
[2018-11-27 11:20:33,480] console [Info] Java not found. Cannot start TeamCity server. Please ensure JDK or JRE is installed and JAVA_HOME environment variable points to it.
[2018-11-27 11:20:33,480] console [Info] Server exited unexpectedly with code 1 and restart limit (3) is reached
[2018-11-27 11:20:33,481] ProcessCommand [Info] Process exited with code: 0
[2018-11-27 11:20:33,581] ServiceExecuteProcessTask [Error] Service process exited without service stop request
我在阅读了这个答案后找到了我的解决方案';…的原因是什么';未被识别为内部或外部命令、可操作程序或批处理文件。基本上TeamCity只得到JRE_HOME
变量,而没有Path
变量,所以里面没有..bin
。我只是在设置TeamCity时编辑JRE_HOME
,它就工作了。
我也遇到过类似的问题,可以通过以下操作解决:
- 下载TeamCity的.exe安装程序
- 将其安装到新文件夹中
- 从新的安装文件夹中复制"jre"文件夹,并将其粘贴到原始TeamCity安装文件夹中
我也遇到了这个问题。事实证明,答案是调试日志中早些时候的"findstr"错误。由于某种原因,我的Windows生成服务器在其PATH上丢失了"C:\Windows\System32"团队城市内部批处理文件使用Findstr来解析Java的版本。这会导致启动脚本后退,并假定没有安装Java。一旦我将这个目录添加回路径中,服务器就会正常启动。