org.apache.hadoop.util.VersionInfo loads the version-info.properties file via the current thread classloader.
However, in case of applications that are using hadoop classes dynamically (eg jdbc based tools such as SQuirreL SQL) the current thread might not be the one that loaded the hadoop classes including VersionInfo, and it would fail to fine the properties file.
The right place to look for the properties file is in the classloader of VersionInfo class, as right version is the one that is associated with rest of the loaded hadoop classes, and not necessarily the one in current thread classloader.
Created a related jira -
HADOOP-14066 to make methods to get version via VersionInfo a public api.