Today I was setting up Visual Studio Code, with the Visual Studio Team Services plugin, to start developing on my new Mac.

I followed instructions on how to set it up, and finally found out how to get TF / TEE CLC (Team Explorer Everywheresetup and running.

However, when trying to run the tf command, nothing happens for a second, and then the command finishes with no output or anything.

Finally I found the log file path for TF / TEE CLC at

~/Library/Application%20Support/Microsoft/Team%20Foundation/4.0/Logs

Opening up the log showed me the following error:

2017-10-13 09:34:15,759 ERROR [main] (com.microsoft.tfs.client.clc.vc.Main) Unhandled exception reached Main:
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
        at ...

This JAXBException turns out to be caused by that version 9 and forward of Java does not include the JAX stuff libraries.

Finally with help from the link, I figured out that the problem is solved by editing the “tf” file (not the “tf.cmd”) by adding “–add-modules java.xml.bind” as an option to the call to java on the last line so it looks like this:

exec java --add-modules java.xml.bind -Xmx2048M -classpath "$CLC_CLASSPATH" $TF_ADDITIONAL_JAVA_ARGS \
	"-Dcom.microsoft.tfs.jni.native.base-directory=$BASE_DIRECTORY/native" \
    $RANDOM_DEVICE_PROPERTY com.microsoft.tfs.client.clc.vc.Main "$@"

And now it works!