From CMD.exe, I can run xjc as follows:
xjc "c:/schema.xsd" -p abc -d "temp"
From git Bash, I can run xjc as follows:
xjc "/c/schema.xsd" -p abc -d "temp"
As far as Cygwin goes, I can get it work only if I call xjc.exe using the CMD.exe syntax.
This is problematic because the script that ran into this problem relies on ${PWD} to get the path to the current directory, which resolves to "/c", not "c:/".
Even with a hack to replace "/c" with "c:/", I'd still like to know why xjc accepts a unix path when called by git Bash but not by Cygwin.