¿Hay alguna razón para favorecer el uso (posiblemente muy largo) de la variable CLASSPATH
para establecer qué jar deben estar en la aplicación classpath durign ejecutar luego para usar la propiedad java 1.5+ -Djava.ext.dirs
que especifica el directorio completo (directorios) de jarras para buscar?CLASSPATH vs java.ext.dirs
Para que sea un ejemplo de la vida real, tengo una aplicación java independiente con la carpeta lib
que contiene todos los archivos jar dependientes. Sofar el script de inicio está configurando todos los (quizás 20) jar a la variable CLASSPATH uno por uno. Desde ahora, mi archivo de aplicaciones es generado por Maven. No puedo ver de antemano cuáles serán los nombres de los jar (por ejemplo, cambio la versión de un JAR). Por supuesto, puedo pasar por el directorio lib
en el script de inicio y agregar todos los archivos jar encontrados a la variable CLASSPATH
nuevamente. O probablemente haga que maven genere este script para mí. Pero aquí vienen las suspensiones:
1) ¿Sería correcto y apropiado reemplazar todo esto simplemente configurando la propiedad java.ext.dirs
para que contenga lo que contiene + mi lib
dir extra en mi script? ¿Alguna advertencia escondida allí?
Gracias por las respuestas :)
Gracias por eso. Otra cosa de la que estaba hablando era si usaba (probablemente erróneamente) java.ext.dirs o especificaba classpath usando comodines. ¿Es diferente de nombrarlos uno por uno? Tal vez el orden puede importar a veces? –
Un punto en contra de importar 'cada Jar en un directorio' es que si el directorio contiene 1500 Jars y la aplicación. solo requiere 2 de ellos, el JRE podría tener que buscar muchos Frascos antes de descubrir una clase o recurso. No veo el gran beneficio de usar comodines en las rutas de clases (incluso si una aplicación usa 50 Jars). –
Gracias por su opinión. Pero como describí anteriormente, mi directorio lib contiene solo los frascos realmente necesarios, ni más ni menos. No quiero codificarlos en el script porque las versiones del jar pueden haber cambiado. ¿Sugeriría entonces que deje que maven genere el guión para mí con los frascos codificados en el guión? –