yml tutorial parte microservicios eureka ejemplo configurar arquitectura application java jar

java - tutorial - Cómo editar el contenido de un archivo application.properties o application.yml dentro de un contenedor existente en un servidor Linux remoto



spring config server eureka (7)

Cómo editar un archivo de propiedades (como application.properties ) dentro de un archivo jar existente en un servidor Linux remoto.

Imagina que el jar se encuentra en /home/user/my-spring-boot.jar y me gusta cambiar el nombre de usuario dentro de application.propertires desde

username=foo

a

username=bar

¿Cómo abrir el archivo y cambiar la propiedad?


Cambiar un artefacto JAR existente no es una buena idea. En cambio, Spring Boot le permite anular fácilmente las propiedades agrupadas con valores externos de varias maneras.

Por ejemplo, puede colocar un archivo application.properties junto al JAR con los valores que desea anular. Ni siquiera necesita copiar todo el archivo de propiedades allí, solo las propiedades que desea cambiar, ya que todavía recae en los valores predeterminados agrupados.

Los detalles están documentados aquí:

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html


La posible ruta podría ser copiar el archivo jar en un archivo zip, extraer, cambiar sus propiedades, comprimir a zip y cambiar el nombre a jar

cp myJar.jar myJar.zip unzip myJar.zip vim myProperties.properties (doing the change here) zip allMyFiles into myJar.zip cp myJar.zip myModifiedJar.jar


Puede descomprimir archivos jar con el comando jar xf bigExecutableJar.jar . Si puede, sugiero instalar atool porque ofrece una mejor línea de comandos para empaquetar / desempaquetar archivos.

A menos que sepa cómo manejar vi , use nano como editor. Algunos sistemas también tienen mc instalado, que es un explorador de archivos basado en consola que tiene un editor incorporado.

Después de cambiar el archivo, puede empaquetar el archivo nuevamente usando jar cf bigExecutableJar-new.jar -C . (o atool --add )

Si realmente desea o necesita usar jar , le sugiero que pruebe el comando en un nuevo directorio primero porque a veces no se comporta como espera. ¡Nunca lo uses en el archivo original!


Puede hacerlo con emacs (después de haber copiado su archivo para copia de seguridad):

$ cp /home/user/bigExecutableJar.jar /home/user/bigExecutableJar.jar.bak $ emacs /home/user/bigExecutableJar.jar

  • Si es grande, le preguntará si realmente desea abrir el archivo.
  • Luego, puede buscar el archivo que desea modificar en el búfer con una lista de todos los archivos en el contenedor; use Cs para hacer una búsqueda si es necesario.
  • Abra el archivo seleccionándolo y presione RET .
  • Realice sus cambios y ahorre con Cx Cs .
  • Finalmente cerrar Emacs con Cx Cc .

Un archivo .jar es simplemente un archivo .zip con una extensión diferente, y vim puede editar archivos zip y sus contenidos directamente. Simplemente vim su .jar , use el navegador de archivos para encontrar su archivo de propiedades y cambiarlo. vim mantendrá la cremallera con tus ediciones.

Vea here para más detalles.


Use emacs para editar contenido en un archivo jar

emacs jarfile

Después de abrir el jar, puede navegar por las carpetas y archivos. Busca en jdbc.properties y edítalo. Luego guarda los cambios con cx cs.

Nota: Es necesario instalar zip y descomprimir.


sed -i "s//(customAuthHeaderName=/).*/$//1${customAuthHeaderName}/" configuration.properties sed -i "s//(logoutPage=/).*/$//1${logoutPage}/" configuration.properties

El segundo valor de customAuthHeaderName proviene del archivo de propiedades