Tengo un problema java.lang.UnsatisfiedLinkError mientras ejecuto un trabajo de Jenkins.
<error message="no JSTAF in java.library.path" type="java.lang.UnsatisfiedLinkError">java.lang.UnsatisfiedLinkError: no JSTAF in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681) at java.lang.Runtime.loadLibrary0(Runtime.java:840) at java.lang.System.loadLibrary(System.java:1047) Básicamente, necesito configurar LD_LIBRARY_PATH y, cuando está configurado, funciona bien desde la ejecución de la línea de comandos. Por ejemplo, cuando configuro LD_LIBRARY_PATH como sigue:
export LD_LIBRARY_PATH=</proj/lib>:$LD_LIBRARY_PATHAl configurar, la ejecución del código funciona bien desde la línea de comandos.
Intenté configurar este LD_LIBRARY_PATH usando EnvInjectPlugin e inyecté LD_LIBRARY_PATH .
Todavía no estoy seguro de por qué Jenkins no detecta este LD_LIBRARY_PATH . ¿Cómo configurar esto para que la ejecución del trabajo de Jenkins funcione?
Ayer publiqué una respuesta a una pregunta similar aquí: KDevelop4: Error al cargar bibliotecas compartidas
En la práctica, LD_LIBRARY_PATH está en desuso en muchos sistemas operativos Linux. Use los archivos de configuración en /etc/ld.so.conf.d para eso y ejecute ldconfig antes de iniciar Jenkins. (ver la publicación citada arriba)
EDITAR [solución]:
después de haberlo discutido en el chat, el problema se ha resuelto agregando:
#!/bin/bash export LD_LYBRARY_PATH=${LD_LIBRARY_PATH}:<myPathForJenkins> en un script corto en /etc/profile.d/ y configurándolo como ejecutable con chmod +x