es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo ejecutar el archivo de Spring Boot jar con un recurso en el classpath.

Tengo una aplicación de spring boot. Funciona perfectamente si la ejecuto desde Eclipse. Pero si la ejecuto desde la línea de comandos, obtengo el siguiente error:

ERROR

org.springframework.beans.BeanInstantiationException: No se pudo instanciar [org.springframework.kafka.core.ProducerFactory]: El método de fábrica ‘kafkaProducerFactory’ lanzó una excepción; la excepción secundaria es java.lang.IllegalStateException: El recurso ‘recursos del sistema de archivos de la clase [kafka/somejksfile.jks]’ debe estar en un sistema de archivos
en
Extraje el archivo .jar y pude ver el archivo .jks relacionado con Kafka adentro
projectName\BOOT-INF\classes

Por alguna razón, no recoge todos los archivos que están dentro de src/main/resources. ¿Cómo hacer referencia a esa ubicación al ejecutar el .jar desde la línea de comandos? Intenté lo siguiente sin éxito:

java -jar -Dspring.profiles.active=dev -Dspring.config.location=file:\C:\my-files\poc\projectName\src\main\resources\ api-account-info.jar

Nota: No puedo realizar cambios de código.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para referirse a la ubicación de la carpeta de recursos al ejecutar el archivo .jar desde la línea de comandos, puede intentar utilizar el siguiente comando:

    java -jar -Dspring.profiles.active=dev -Dloader.path="file:/ruta/a/los/recursos/" api-account-info.jar
    

    Reemplace /ruta/a/los/recursos/ con la ruta absoluta a la carpeta de recursos en su proyecto. Este comando utiliza la opción -Dloader.path para especificar una ruta adicional donde la aplicación debe buscar las clases y recursos, en este caso la carpeta de recursos. Esto debería solucionar el problema de que el archivo .jks no se encuentra al ejecutar el archivo .jar desde la línea de comandos.

Comments are closed.