2

About 1 month ago I still can run TeamCity server but up to now, it said that Java executable of version 1.8 is not found.

I have set Environment Variables:

JAVA_HOME=C:\Program Files\Java\jdk-11.0.1

JRE_HOME=C:\Program Files\Java\jre1.8.0_192

CATALINA_HOME=C:\apache-tomcat-9.0.12

In Path variables, I have set it to:

%JAVA_HOME%\bin;%JRE_HOME%\bin;%CATALINA_HOME%\lib

But it still says that it couldn't found JAVA_HOME or JRE_HOME.

The TeamCity server logs I have attached below.

[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:\WINDOWS\system32\cmd.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:\TeamCity\bin
[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:\TeamCity\logs\teamcity-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:\WINDOWS\system32\cmd.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:\TeamCity\bin
[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:\TeamCity\logs\teamcity-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:\WINDOWS\system32\cmd.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:\TeamCity\bin
[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:\TeamCity\jre"
[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:\TeamCity\jre"
[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:\TeamCity\jre"
[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
Tài Hoàng
  • 61
  • 1
  • 10
  • Where exactly did you set both environment variables? Did you make sure `C:\Program Files\Java\jre1.8.0_192\bin` actually exists? Do you start TeamCity from batch or as windows service? It obviously does not recognize your environment variables. – Selaron Nov 27 '18 at 07:24
  • @Selaron Thank you for your reply. - My path of JAVA_HOME and JRE_HOME is exactly what i have mention above. - I have checked `C:\Program Files\Java\jre1.8.0_192\bin` and it's exists. - I have try to run 'runAll.bat' from TeamCity/bin but the window just show up and then it close straightway. – Tài Hoàng Nov 27 '18 at 07:39
  • why do you have jdk11 and jre8 ? i think that could cause a problem. – daggett Nov 27 '18 at 09:36
  • @daggett Thank you for your reply. I just deleted JDK11 and install JDK8 but it still not help. – Tài Hoàng Nov 27 '18 at 09:51
  • seems, you are running teamcity as a service. for windows services the environment variables must be defined on the system level (not on user) unless you run service under exact user... also check that you can run `teamcity-server start` from cmd. – daggett Nov 27 '18 at 10:48
  • Please take a look on [What is the reason for '...' is not recognized as an internal or external command, operable program or batch file?](https://stackoverflow.com/a/41461002/3074564) If *TeamCity* is running as a service, you have to stop and restart it after making changes on __system__ environment variables. Best is to restart the entire machine to make sure that all processes and services already running on having modified the __system__ environment variables makes use of them after Windows restart. – Mofi Nov 27 '18 at 12:10
  • @daggett Thank you for your reply. I have follow Mofi's link and found the solution. – Tài Hoàng Nov 28 '18 at 04:35
  • @Mofi Thank you for your reply. I have read your answer and it helped me alot. Basically TeamCity just get `JRE_HOME` variable, not the `Path` variable so it doesn't have `../bin` in it. I just edit the `JRE_HOME` when setup TeamCity and it worked. I want to upvote your answer but my reputation is not high enough for that. Once again, thank you alot! – Tài Hoàng Nov 28 '18 at 04:41

3 Answers3

1

I found my solution after read this answer What is the reason for '...' is not recognized as an internal or external command, operable program or batch file? . Basically TeamCity only get JRE_HOME variable, not the Path variable so it doesn't have ..\bin in it. I just edit the JRE_HOME when setup TeamCity and it worked.

Tài Hoàng
  • 61
  • 1
  • 10
0

I've had a similar issue and was able to resolve it by doing the following:

  1. Download an .exe installer for TeamCity.
  2. Install it into a new folder.
  3. Copy 'jre' folder from the new installation folder, and pasting it into the original TeamCity installation folder.
tolache
  • 168
  • 1
  • 1
  • 12
0

I ran into this also. It turns out the answer was debugging the 'findstr' errors earlier in the log. For some reason, my Windows build server had lost 'C:\Windows\System32' on its PATH. 'Findstr' is used by a teamcity internal batch file to parse Java's version. This causes the startup script to fall back and assume Java was not installed. Once I added this directory back into the path, the server started up just fine.