Olá a todos, estou tendo um sério problema com relação a ClassLoaders. É o seguinte, eu gostaria de carregar dinamicamente alguns JARs. Para isso, gerei esse código baseado na API do Java:
import java.net.*;
public class Loader
{
public Loader()
{
try
{
URL [] locations = new URL[1];
locations[0] = new URL("jar:file://./Teste.jar!/");
ClassLoader loader = URLClassLoader.newInstance(locations, this.getClass().getClassLoader());
Class c = loader.loadClass("TesteClasse");
}
catch (ClassNotFoundException e)
{
System.out.println("Exception (ClassNotFoundException): " + e.getMessage());
}
catch (MalformedURLException e)
{
System.out.println("Exception (MalformedURLException): " + e.getMessage());
}
}
public static void main(String [] args)
{
new Loader();
}
}
Ele carrega o JAR normalmente, mas quando eu tendo carregar alguma classe desse JAR, dá sempre a excessão ClassNotFoundException. Já tentei os caminhos:
URL location = new URL(“jar:file://./Teste.jar!/”);
URL location = new URL(“jar:file://C:/loader/Teste.jar!/”);
Aparentemente, parecia ser problema do JAR, mas já coloquei o “Teste.jar” no Classpath do Java e consigo abrir normalmente.
Não sei mais o q fazer, pode ser pau na instalação do Java, sei lá.
O que pode estar acontecendo?
Abraços;