Ti sono sincero: non ho mai usato Jasper anche se so a che serve.
Siccome però sei disperato ti do cmq una mano...andando per tentativi e ti dico cosa farei io.
Siccome è un problema di percorsi (in locale funziona mentre in remoto no), sbagli sicuramente il modo con cui imposti i percorsi nella classe. Ti ricordo che nelle Servlet bisogna passare per il context.
Eccoti un esempio che ti può servire per adattarlo al tuo programma (vedi infatti com'è che si indica il percorso)

Codice PHP:
ServletContext context this.getServletConfig().getServletContext();

String reportFileName context.getRealPath(/reports/tfr.jasper”);
File reportFile = new File(reportFileName);

(!reportFile.exists()) {
     try{
         
JasperCompileManager.compileReportToFile(context.getRealPath(/reports/tfr.jrxml”));
      } catch (
JRException e) { ... }

Il mio è un tentativo, facci sapere se ho azzeccato o se cmq hai risolto e come.