You omitted the most important line - the definition of the variable
cacheDir.
I presume this is properly escaped as either "C:\\jforex\\cache" or "C:/jforex/cache".
Make sure you are running a relatively recent copy of the JForex SDK (2.8.0+ should suffice although I was on 2.7.9 myself until 2 weeks ago) or at the very least that the Windows version matches the one you used in Linux.
Clear out the contents of the cache - completely empty - no old data e.g. historical data generated in the same directory by your Linux installation or as tcsabina suggested your installed JForex Platform.
Also consider the following wrapping for further information purposes:
try
{
Future<?> future = testClient.downloadData(null);
future.get();
}
catch(Exception e)
{
//some output here regarding 'e' long before strategy start
}
If it hasn't been addressed by tcsabina's suggestions and still fails beyond these, it could be the 3 letter B word but let's see.