Load class dependencies in the same package (not showing on import statement)

0 respostas
marciobarroso

Pessoal,

Eu criei uma aplicação que gera relatórios. Para a criação de um relatório, eu crio uma implementação de classe e com esta classe e todas as suas dependências eu gero um jar. Este jar será enviado para meu serviço e será executado no servidor.

Isso já funciona bem. Só em uma situação que estou tendo problemas.

Quando meu job utiliza uma classe que tem como dependencia uma outra do mesmo pacote.

Exemplo:

package com.marciob.applications.report.generator;

import com.marciob.applications.onleague.model.Team;

class MyJob implements Job {

	public void execute(Team team) {
		...
	}

}

package com.marciob.applications.onleague.model;

class Team {
	
	private List<Player> players;
	
	// getters and setters
	
}

Quando eu gero o jar, esta sendo adicionado a classe MyJob e Team, porém a classe Player que é necessária para a compilação da classe Team não esta sendo encontrada por não estar sendo importada. Ela é do mesmo pacote da classe Team.

Eu conseguiria resolver isso adicionando todas as classes dos pacotes no jar, mas desta forma estaria enviando classes que muitas vezes não seriam necessárias para a execução, deixando meu jar mais pesado.

Estou utilizando a api org.reflections para fazer o trabalho.

Alguém por acaso conhece alguma forma de conseguir carregar todas as dependencias da classe, mesmo as que não aparece na cláusula import?

Criado 12 de abril de 2013
Respostas 0
Participantes 1