Ai pessoal estou precisando fazer uma aplicação na qual o classpath vai sendo modificado dinamicamente, na verdade o que ocorre e que eu preciso adicionar .jar dinamicamente e nao queria precisar reiniciar o serviço para isto, tem como fazer alguem ja fez?
Adicionar JAR ao ClassPath dinamicamente
4 Respostas
ai… tres metodo que pode te ajudar…
public static void addToClasspath(String s) throws IOException {
File f = new File(s);
addToClasspath(f);
}
public static void addToClasspath(File f) throws IOException {
addToClasspath(f.toURL());
}
public static void addToClasspath(URL u) throws IOException {
URLClassLoader sysloader = (URLClassLoader) ClassLoader
.getSystemClassLoader();
Class sysclass = URLClassLoader.class;
try {
Method method = sysclass.getDeclaredMethod("addURL", parameters);
method.setAccessible(true);
method.invoke(sysloader, new Object[] { u });
} catch (Throwable t) {
t.printStackTrace();
throw new IOException(
"Error, could not add URL to system classloader");
}
}
cara boa dica, to tentando concluir ai mas nao estou conseguindo ver o que é o argumento parameters.
tava faltando somente
Class parameters = URL.class;
Isso!!! Esqueci
Na verdade o que tem aqui eh
private static final Class[] parameters = new Class[] { URL.class };
Criado 29 de junho de 2006
Ultima resposta 29 de jun. de 2006
Respostas 4
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo