registro recuperar que papelera fichero esta eliminar elimina directorio descompilar delete contenido como borre borrar archivos archivo abrir java linux jar

recuperar - file.delete java no elimina



¿Existe una manera rápida de eliminar un archivo de Jar/war sin tener que extraer el contenedor y volver a crearlo? (3)

Entonces necesito eliminar un archivo de un archivo jar / war. Esperaba que hubiera algo como "jar -d myjar.jar file_I_donot_need.txt"

Pero en este momento la única forma que puedo ver de hacer esto desde mi línea de comandos de Linux (sin usar WinRAR / Winzip o el equivalente de Linux) es

  • Haz "jar -xvf" y extrae
    completar el archivo Jar
  • Eliminar el (los) archivo (s) que no necesito
  • Rehaga el archivo jar usando "jar -cvf"

Por favor dime que hay un camino mas corto?


En Java, puede copiar todas las entradas de un jar, excepto la que desea eliminar. es decir, debe hacer una copia pero no necesita crear los archivos individuales.

Puedes hacer esto por

  • creando un nuevo jar
  • iterando a través del Jar que tienes
  • copie la entrada de un contenedor a otro, omitiendo los archivos que desee.
  • cierra y reemplaza el frasco original si quieres.

En caso de que desee eliminar un archivo para no firmar el archivo firmado, probablemente pueda simplemente hacer que el archivo .RSA sea de tamaño cero. Esto se puede lograr con solo jar u . Ver https://.com/a/24678645/653539 . (Funcionó para mí, aunque admito que es pirateo).


zip -d file.jar unwanted_file.txt

jar es solo un archivo zip después de todo. Definitivamente mucho más rápido que descomprimir / recomprimir.