The following code helped me resolve the issue. The path to the template needs to be provided as part of file.resource.loader path. By default it comes as "." . So setting the property explicitly will be required.
Print getClass().getClassLoader().getResource("resources")
or getClass().getClassLoader().getResource("")
to see where your template comes and based on that set it in the velocity template engine.
URL url = getClass().getClassLoader().getResource("resources");
//URL url = getClass().getClassLoader().getResource("");
File folder= new File(url.getFile());
VelocityEngine ve = new VelocityEngine();
ve.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, folder.getAbsolutePath());
ve.init();
Template template = ve.getTemplate( "MyTemplate.vm" );