Instanciar classe na raiz do JAR

3 respostas
orogerio

Bom dia, estou com um problema que parecia se simples:

Tenho um jar que não posso mecher e na raiz dele tem uma classe (ClasseNaRaiz.class) com um método que eu quero usar. Preciso fazer o seguinte:

ClasseNaRaiz obj = new ClassNaRaiz();
obj.metodoPublico();

O problema é que ele não acha essa classe e não da pra fazer um import pois ela esta na raiz. :shock:
O Jar já esta adicionado nas bibliotecas do projeto.

Agradeço a ajuda.
Rogério

3 Respostas

facholi

Ainda não sei ao certo, mas parece que a partir do Java 1.4 você não pode mais acessar uma classe fora de pacote.
Mas com reflection você pode acessar qq classe:

Class clazz = Class.forName("SuaClasse");
Method method = clazz.getMethod("facaAlgo");
method.invoke(clazz.newInstance());
orogerio

Consegui deixando minha classe que acessa o Jar na raiz do meu projeto, ai funcionou.

Usando Reflection também pode dar certo, mas como funcionou de um jeito mais simples, não cheguei a tentar.

Obrigado

facholi

Se for um programa pequeno, ou só prá teste serve sim. Só achei que você não queria fazer isso (deixar sua classe fora de um pacote) :wink:

Criado 3 de janeiro de 2013
Ultima resposta 3 de jan. de 2013
Respostas 3
Participantes 2