This one took me a while to figure out. I have my PATH environment variable set up to include other paths that are also defined by an environment variable. For example, I have Maven set up in the following way:
M2_HOME = C:\Program Files\Apache Software Foundation\apache-maven-2.0.9
M2 = %M2_HOME%\bin
PATH = %M2%;[a whole lot of other dirs]
Today, I tried to run a Maven build, and it wasn’t recognizing the maven\bin in my path. When I did an echo on my path, the path had the following:
%M2%;C:\Program Files...
instead of
C:\Program Files\Apache Software Foundation\apache-maven-2.0.9\bin
which would be the value of %M2%
When I did:
echo %M2%
I got the full path C:\Program Files\Apache Software Foundation\apache-maven-2.0.9\bin
What was going on?
Well, apparently, Windows has a limit on the size of your path and when it hits that limit, it just stops interpreting your %VARIABLES% set in the path.
So, the solution is to either reorganize all of your files into more succinctly named directories, or remove some of the dirs from your path.
Thanks M$. Hope this helps someone else.