TeamCity服务器找不到Java可执行文件,即使我已经设置了它



大约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,它就工作了。

我也遇到过类似的问题,可以通过以下操作解决:

  1. 下载TeamCity的.exe安装程序
  2. 将其安装到新文件夹中
  3. 从新的安装文件夹中复制"jre"文件夹,并将其粘贴到原始TeamCity安装文件夹中

我也遇到了这个问题。事实证明,答案是调试日志中早些时候的"findstr"错误。由于某种原因,我的Windows生成服务器在其PATH上丢失了"C:\Windows\System32"团队城市内部批处理文件使用Findstr来解析Java的版本。这会导致启动脚本后退,并假定没有安装Java。一旦我将这个目录添加回路径中,服务器就会正常启动。

最新更新