Al usar el alcance system
debe proporcionar una ruta de acceso absoluta a la dependencia (a diferencia de otras dependencias, que se buscan en los repositorios de Maven). Ver System Dependencies en Introducción al Mecanismo de Dependencia.
Ejemplo:
<dependency>
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
¿Por qué no acaba de instalar el artefacto de terceros en su repositorio local/empresa?
EDITAR: Si tiene systemPath
definido, pero sospecha que la variable de entorno no se resuelve, obtendrá el siguiente error (obsérvese la presencia de variable en la ruta):
The project ... has 1 error
'dependencies.dependency.systemPath' for weblogic:webservices:jar must specify an absolute path but is ${env.BEA_HOME}/lib/xyz.jar @ line ...
Pero si Maven descubre la variable y la resuelve correctamente, el mensaje de error citado anteriormente contendrá un directorio ya resuelto (no un marcador de posición). Probado en Ubuntu/Maven 3.
Gracias por la respuesta rápida, tengo una ruta del sistema configurada similar a la anterior. Pero el problema que pienso ahora es que de alguna manera el ambiente es vable y no se resuelve. Lo tengo así: $ {env.BEA_HOME} /lib/xyz.jar y tengo BEA_HOME configurado como una variable de entorno. Pero aún recibo un error. Estoy trabajando en una caja de Windows 7 si eso ayuda. – sab
Ver mi edición, tal vez te ayude. –
Esto está muy bien, excepto cuando desea usar algo como tools.jar, que está bajo el directorio JDK/lib, y no JDK/jre/lib.Por lo tanto, por un lado, la documentación de Maven dice que "$ {java.home} especifica la ruta al uso actual del entorno JRE_HOME con rutas relativas para obtener, por ejemplo: $ {java.home} ../ bin/java.exe "y, por otro, se queja cuando lo hace por la ruta del sistema. Seguramente sería mejor para la propiedad java.home ser equivalente a la variable de entorno y luego llamar a la ruta al subdirectorio JRE algo así como $ {jre.home}? –
RCross