Estoy tratando de agregar el archivo jar a classpath en tiempo de ejecución. Yo uso este códigoCargando jar en el tiempo de ejecución
public static void addURL(URL u) throws IOException {
URLClassLoader sysloader = (URLClassLoader) ClassLoader
.getSystemClassLoader();
Class<URLClassLoader> sysclass = URLClassLoader.class;
try {
Method method = sysclass.getDeclaredMethod("addURL", parameters);
method.setAccessible(true);
method.invoke(sysloader, new Object[] { u });
System.out.println(u);
} catch (Throwable t) {
t.printStackTrace();
throw new IOException("Error");
}
}
Sistema cabo impresiones de esta url:
file:/B:/Java/Tools/mysql-connector-java-5.1.18/mysql-connector-java-5.1.18/mysql-connector-java-5.1.18-bin.jar
que el de salida este camino con cuidado, existe este frasco. Incluso esta prueba muestra que com.mysql.jdbc. existe la clase de controlador.
javap -classpath "B:\Java\Tools\mysql-connector-java-5.1.18\
mysql-connector-java-5.1.18\mysql-connector-java-5.1.18-bin.jar" com.mysql.jdbc.
Driver
Compiled from "Driver.java"
public class com.mysql.jdbc.Driver extends com.mysql.jdbc.NonRegisteringDriver i
mplements java.sql.Driver{
public com.mysql.jdbc.Driver() throws java.sql.SQLException;
static {};
}
Pero sigo teniendo java.lang.ClassNotFoundException cuando utilizo este Class.forName (conductor). ¿Qué hay de malo con este código?
¿Desea que haga una excepción? ¿Qué tipo de excepción? Cuando dices "¿qué pasa con este código?" Cuéntenos más sobre su resultado real y lo que espera – ControlAltDel
posible duplicado de [Agregar archivos a classpath java en tiempo de ejecución] (http://stackoverflow.com/questions/1010919/adding-files-to-java-classpath-at- tiempo de ejecución) – NPE
posible duplicado de [¿Cómo debo cargar los tarros dinámicamente en el tiempo de ejecución?] (http://stackoverflow.com/questions/60764/how-should-i-load-jars-dynamically-at-runtime) –