Tengo 2 proyectos usando Maven. El primero es una biblioteca que contiene clases y métodos de utilidad. El segundo proyecto es una aplicación real que tiene la biblioteca como una dependencia. Mi biblioteca utiliza internamente una biblioteca de terceros.Limitando una dependencia transitiva al alcance del tiempo de ejecución en Maven
Así que estas son las dependencias:
- Mi biblioteca: depende de la biblioteca de terceros
- Mi aplicación: depende de mi biblioteca
Sin embargo, yo no quiero que el las clases de biblioteca de terceros estarán disponibles en compilando el tiempo en mi aplicación. Esto se debe a que la aplicación es compatible con un equipo grande y quiero evitar que las personas accidentalmente utilicen métodos de la biblioteca de terceros en la aplicación dado que algunos nombres de clase y algunos nombres de método son similares entre los dos. Por supuesto, la biblioteca del tercer par deberá estar disponible en mi aplicación al runtime.
Si el alcance para todas mis dependencias fuera compilar, no alcanzaría mi objetivo. ¿Hay alguna manera de lograr esto en Maven 3?
Tenía la esperanza de que hubiera una manera de hacerlo . Gracias por tu respuesta, Michal. – Juanal
Esto fue respondido hace años. ¿Hay alguna manera de hacer esto ahora? Me pregunto si de alguna manera podrías usar un alcance de 'import' para hackear una solución aquí. –
No creo que haya cambiado nada aquí. Como dije en 2012, es un diseño Maven muy fundamental. Creo que no hay forma ahora de cambiar esto ya que es solo cómo Maven hace las cosas desde el principio. –