i’m using teamcity 5.1.5.. trying to build an MSBuild project with an AfterDeploy target which calls a java function..
i get the following error: ‘java’ is not recognized as an internal or external command
I’ve tested the java command on the build server and the agent servers and they all run the command..but it seems it fails when running through teamcity.
any ideas?
i’ve checked the build agent env vars and they seem correctly setup:
Environment variables defined in the
agent configuration fileJAVA_HOME C:\Program
Files\Java\jdk1.6.0_21JDK_16 C:\Program
Files\Java\jdk1.6.0_21TEAMCITY_JRE C:\TeamCity\jre
the only thing i notice is that the java.exe are actually in the bin folders here not the root folder.
Build Agent runs from the SYSTEM account by default. SYSTEM account environment variables differ from your normal account which you’ve used for testing. I suspect that java.exe is not in PATH for the SYSTEM account. Either adjust PATH by adding JDK_HOME\bin to it or configure the Agent service to run from a different account.
Remember you need to restart the build agent service before changes to PATH will take effect.