La prima cosa che mi viene in mente è che il nome del file non punti correttamente al file JRXML.
Per averne la certezza, spezza quella riga di codice in tre distinte operazioni:

1) Compilazione del JRXML e creazione del file .jasper
2) Caricamento del file Jasper
3) Riempimento del report

Secondo me ad andare in errore è la prima: non trova il JRXML e, di conseguenza, non lo compila (ma è una mia ipotesi)

codice:
String nomef = ...   // Nome del file JRXML
String nomeJasper = ...   // Nome del file Jasper prodotto dalla compilazione

// Compilo il file JRXML
JasperCompileManager.compileReportToFile( nomef );

// Carico il file Jasper relativo
JasperReport report = (JasperReport) JRLoader.loadObject( new File(nomeJasper) );

// Riempio il report
JasperPrint print = JasperFillManager.fillReport(report, new HashMap<String,Object>(), new JRTableModelDataSource(tableModel));
Se, come credo, ad andare in errore è la prima istruzione, la soluzione è semplice: stai puntando male il tuo file JRXML, di conseguenza il tuo ambiente di sviluppo (avendo una sua working directory) lo trova, mentre qualunque altra esecuzione non lo troverebbe mai.


Ciao.