gente tenho uma classe que chama dinamicamente outra
e funciona legal
porem preciso chamar uma outra classe que funciona em outro pacote
mesmo eu importando a classe do pacote da excessao classnotfound
como fazer para chamar a classe em outro pacote
[code]import PacoteTeste.Teste4;
public class ChamadaDinamica {
public static void main(String[] args) {
Object obj;
String a;
try {
String s = "teste2"; // este chamada funciona normalmente
// String s = “Teste4”; // esta outra classe se encontra em outro pacote e nao funciona
// as duas classes sao iguais
obj = Class.forName(s).newInstance();
a = (String) obj.getClass().getMethod(“getNome”).invoke(obj);
System.out.println(a);
Eu acho que quando usado o Class.forName(String) para pegar classes de outro pacote, deve-se especificar o pacote inteiro da classe.
Por exemplo:
[code]public class ChamadaDinamica {
public static void main(String[] args) {
Object obj;
String a;
try {
String s = "PacoteTeste.Teste4"; // esta outra classe se encontra em outro pacote e nao funciona
// as duas classes sao iguais
obj = Class.forName(s).newInstance();
a = (String) obj.getClass().getMethod("getNome").invoke(obj);
System.out.println(a);
} catch (Exception e) {
System.out.println("primeira excessao");
System.out.println(e);
}
}
}
class teste2 {
public teste2 () {
System.out.println(“testado”);
System.out.println(“testado2”);
System.out.println(“testado3”);
System.out.println(“testado4”);
System.out.println(“testado5”);
}
public String getNome() {
return “funciona”;
}
}[/code]