Erro ao gerar Report usando serviço wrapper (Resolvido)

Boa tarde a todos!

Tenho uma aplicação que gera alguns relatórios em JasperReports, até ai não tenho nenhum problema, tudo funciona perfeitamente.
A questão é que agora implementei um “serviço de impressão”, onde de um mobile envio o comando e o serviço imprime o relatório diretamente, ou pelo menos deveria. Entretanto ele está dando uma exception como se tivesse faltando uma lib no patch do sistema, segue abaixo:

 java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:153)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:82)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
    at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:542)
    at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:522)
    at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:888)
    at br.n2m.impressao.etq.laser.relatorio.RelatorioEtqLaser.imprime(Unknown Source)
    at br.n2m.impressao.etq.termica.classes.ListObjImpEtq.imprimeReport(Unknown Source)
    at br.n2m.impressao.etq.termica.classes.ListObjImpEtq.geraListParametros(Unknown Source)
    at br.n2m.impressao.etq.termica.classes.ListObjImpEtq.trataIteracoes(Unknown Source)
    at br.n2m.impressao.etq.termica.classes.ListObjImpEtq.imprimeEtqLaser(Unknown Source)
    at br.n2m.impressao.etq.termica.classes.ListObjImpEtq.imprimeObjetos(Unknown Source)
    at br.n2m.impressao.etq.op.EtiquetaManager.imprimeDadosProdutoServico(Unknown Source)
    at br.n2m.impressao.etq.op.EtiquetaManager.imprimeEtiquetaProduto(Unknown Source)
    at br.n2m.impressao.etq.op.ThreadImprimeLote.imprimeObjetos(Unknown Source)
    at br.n2m.impressao.etq.op.ThreadImprimeLote.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

Já pesquisei em alguns fóruns, mas vi algumas pessoas reclamando deste erro quando utilizam o Tomcat, que não é meu caso, pois utilizo wrapperService. Abaixo o método que faz a impressão em si:

	public boolean imprime(HashMap<String, Object> parametros, String relatorio) {
	Log.getInstance().logInfo("IMPRIMINDO ETQ: Imprime");

	try {
		final String urlArq = AplicDir.KEY_DIR_APLICACAO + AplicDir.KEY_DIR_RELATORIOS_ETQ + relatorio;
	
		final DadosRelatorioDataSource dadosRel = new DadosRelatorioDataSource(true, parametros);

				final JasperPrint print = JasperFillManager.fillReport(urlArq, parametros, dadosRel);
					// JasperViewer.viewReport(print, false);
		Log.getInstance().logInfo("ENVIANDO PARA IMPRESSORA");
		JasperPrintManager.printPage(print, 0, false);
		return true;
	} catch (final NoClassDefFoundError e) {
		Log.getInstance().logException("Erro ao carregar relatorio", e);
		e.printStackTrace();
		return false;
	} catch (final JRException e) {
		Log.getInstance().logException("Erro ao carregar relatorio", e);
		e.printStackTrace();
		return false;
	} catch (final Exception e) {
		Log.getInstance().logException("Erro ao carregar relatorio", e);
		e.printStackTrace();
		return false;
	}

}

Coloquei alguns logs para acompanhar o processo e ele para neste método, quando executo a primeira vez ele não exibe a exception, mas também não imprime, quando tento a segunda vez ele exibe o erro.

Gostaria de saber se alguém já utilizou este processo e o que pode estar ocorrendo.

Desde já agradeço.

Boa tarde a todos,

Achei o problema.

A questão que o relatório estava funcionando no Desktop e não funcionava no serviço é devido a ter um arquivo antigo do Jasperreports na minha pasta lib (antigo 4.6 atual 5.6). A questão que não apresentava problemas no Desktop devido ao meu manifest não fazer referencia a esta lib antiga, mas quando inicializo o serviço Wrapper ele utiliza como lib a opção …/lib/*.jar, neste caso ele pegar todos os jar’s que estão na pasta, dai o problema.

Fica a dica para quem utiliza este processo, foi uma falha minha em deixar lixo de jar na lib, mas como o Desktop funcionava sem prolemas e somente agora implementei via serviço que identifiquei.