sql >> Base de Datos >  >> RDS >> Oracle

Especificar classpath para maven

Veo tres opciones:

  1. Coloque las dependencias en un repositorio (podría ser un repositorio de archivos como se describe en esta respuesta ) y declararlos con un alcance provided .
  2. Usar el system sucio truco de alcance (es decir, declarar las dependencias con un alcance del sistema y establecer la ruta a los archivos jar en su sistema de archivos.
  3. Pequeña variación de #2:crea un jar con un MANIFEST.MF que haga referencia a todos los jars (usando una ruta relativa) y declara una dependencia en este jar casi vacío con un system alcance.

La forma limpia es la opción n. ° 1, pero otras también funcionarían en su caso. La opción #3 parece ser la más cercana a lo que estás buscando.

Actualización: Para aclarar la opción #3

Digamos que tiene un directorio con a.jar y b.jar . Crear un c.jar con un Class-Path entrada en su META-INF/MANIFEST.MF enumerando otros frascos, algo como esto:

Class-Path: ./a.jar ./b.jar 

Luego declare una dependencia en su POM en c (y solo en c ) con un system scope, otros archivos jar se volverán "visibles" sin tener que enumerarlos explícitamente en su POM (seguro, debe declararlos en el manifiesto, pero esto se puede programar muy fácilmente).