Articles of classloader

Java: ¿en qué orden se inicializan los campos finales estáticos?

De acuerdo, entonces di que tengo una clase que se ve así: public class SignupServlet extends HttpServlet { private static final Logger SERVLET_LOGGER=COMPANYLog.open(SignupServlet.class); private static final ExceptionMessageHandler handler = new ExceptionMessageHandler(); private static final SignupServletObservableAgent signupObservableAgent = new SignupServletObservableAgent(null, SERVLET_LOGGER); } ¿Puedo contar con el cargador de clases para inicializar esos campos en orden, de […]

Causado por: java.lang.NoClassDefFoundError: org / apache / log4j / Logger

Tengo un problema interesante en el que la clase org.apache.log4j.Logger no se encuentra durante el tiempo de ejecución. Estoy tratando de obtener autorización y ahí es donde está fallando: OAuthAuthorizer oauthAuthorizer = new OAuthAuthorizer(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, SAML_PROVIDER_ID, userId); Estoy usando JDeveloper 11.1.1.6. Esto es lo que sé: He buscado en mi directorio UI.war / WEB-INF / […]

¿Cómo lidiar con LinkageErrors en Java?

Desarrollando una aplicación Java fuertemente basada en XML, recientemente encontré un problema interesante en Ubuntu Linux. Mi aplicación, utilizando el Marco de complementos de Java , parece incapaz de convertir un documento XML creado por dom4j en la implementación de Batik de la especificación SVG. En la consola, me entero de que se produce un […]

Enumeración de Java: ¿dos tipos de enumeración, cada uno con referencias el uno al otro?

¿Hay alguna forma de evitar los problemas de carga de clases causados ​​por tener dos enumeraciones que se referencian entre sí? Tengo dos conjuntos de enumeraciones, Foo y Bar, definidos así: public class EnumTest { public enum Foo { A(Bar.Alpha), B(Bar.Delta), C(Bar.Alpha); private Foo(Bar b) { this.b = b; } public final Bar b; } […]

Extraño comportamiento de Class.getResource () y ClassLoader.getResource () en el archivo ejecutable

Entiendo de ¿Cuál es la diferencia entre Class.getResource () y ClassLoader.getResource ()? y desde el propio código, eso getClass().getResource(“/path/image.png”) es idéntico a getClass().getClassLoader().getResource(“path/image.png”) La publicación No se puede leer una imagen en el archivo jar muestra un problema al usar getClass().getClassLoader().getResource(“path/image.png”) en un archivo jar ejecutable devuelve nulo, mientras getClass().getResource(“/path/image.png”) devuelve la URL correcta. Since […]

Java: ¿cómo cargar diferentes versiones de la misma clase?

He leído mucho sobre los cargadores de clases de Java, pero hasta ahora no he podido encontrar una respuesta para esta simple pregunta: Tengo dos versiones de com.abc.Hello.class en jar v1.jar y v2.jar . Quiero usar ambos en mi aplicación. ¿Cuál es la forma más simple de hacer esto? No espero ser tan simple, pero […]

Cargar archivo de propiedades en JAR?

Tengo problemas cuando una de las jarras de la que depende mi aplicación web intenta cargar un archivo de propiedades desde el contenedor. Aquí está el código en el contenedor. static { Properties props = new Properties(); try { props.load(ClassLoader.getSystemResourceAsStream(“someProps.properties”)); } catch (IOException e) { e.printStackTrace(); } someProperty = props.getProperty(“someKey”); } El archivo de propiedades […]

¿Cómo obtener nombres de clases dentro de un archivo jar?

Tengo un archivo JAR y necesito obtener el nombre de todas las clases dentro de este archivo JAR. ¿Cómo puedo hacer eso? Busqué en Google y vi algo sobre JarFile o Java ClassLoader pero no tengo ni idea de cómo hacerlo.

this.getClass (). getClassLoader (). getResource (“…”) y NullPointerException

He creado un proyecto maven mínimo con un solo módulo hijo en eclipse helios. En la carpeta src / test / resources he puesto un solo archivo “install.xml”. En la carpeta src / test / java, he creado un único paquete con una única clase que hace: @Test public void doit() throws Exception { URL […]

¿Cómo cargar una clase Java dinámicamente en android / dalvik?

Me pregunto si y cómo se pueden cargar dex o archivos de clase dinámicamente en dalvik, alguna función de prueba rápida que escribí fue esta: public void testLoader() { InputStream in; int len; byte[] data = new byte[2048]; try { in = context.getAssets().open(“f.dex”); len = in.read(data); in.close(); DexFile d; Class c = defineClass(“net.webvm.FooImpl”, data, 0, […]