Necesito leer archivo de manifiesto MANIFIEST.MF experto de "some.jar" usando fiestaCómo leer el archivo MANIFEST.MF del JAR usando Bash
Respuesta
$ unzip -q -c myarchive.jar META-INF/MANIFEST.MF
-q
suprime la salida detallada del programa de descompresión-c
extraerá en stdout
Ejemplo:
$ unzip -q -c commons-lang-2.4.jar META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.5.0_13-119 (Apple Inc.)
Package: org.apache.commons.lang
Extension-Name: commons-lang
Specification-Version: 2.4
Specification-Vendor: Apache Software Foundation
Specification-Title: Commons Lang
Implementation-Version: 2.4
Implementation-Vendor: Apache Software Foundation
Implementation-Title: Commons Lang
Implementation-Vendor-Id: org.apache
X-Compile-Source-JDK: 1.3
X-Compile-Target-JDK: 1.2
Como alternativa, puede usar -p
en lugar de -q -c
.
-p extraer archivos a la tubería (stdout). Nada más que los datos del archivo se envían a stdout, y los archivos siempre se extraen en formato binario, tal como se almacenan (sin conversiones).
Sé que este hilo es antiguo, pero para quien corresponda: A partir del manual, la extracción con -p o -c imprimirá la salida en formato binario. Si necesita analizar esta salida de alguna manera (por ejemplo, a una matriz asociativa), debe forzar la representación de texto con un argumento, para que sea correcto. – tcigler
uso unzip
:
$ unzip -q -c $JARFILE_PATH META-INF/MANIFEST.MF
que en silencio (-q
) leer la ruta META-INF/MANIFEST.MF del jarfile (que se comprime utilizando el formato zip) a la salida estándar (-c
). A continuación, puede canalizar la salida de otro comando para responder a preguntas como '¿cuál es la clase principal de este frasco:
$ unzip -q -c $JARFILE_PATH META-INF/MANIFEST.MF | grep 'Main-Class' | cut -d ':' -f 2
(esto elimina todas las líneas que no contienen la cadena Main-Class
, luego se divide la línea en :
, manteniendo solo el segundo campo, el nombre de la clase). Por supuesto, defina $JARFILE_PATH
apropiadamente o reemplace $JARFILE_PATH
con la ruta a un archivo jar que le interese.
Dependiendo de su distribución, instale el paquete unzip
. Luego simplemente emita
unzip -p YOUR_FILE.jar META-INF/MANIFEST.MF
Esto arrojará el contenido a STDOUT.
HTH
$ tar xfO some.jar META-INF/MANIFEST.MF
x
extractos y O
redirige a stdout.
Nota: Parecen funcionar solo en bsdtar, no en GNU tar.
Otros han estado publicando sobre el uso de unzip -p y tuberías para grep o awk o lo que sea que necesite. Si bien eso funciona en la mayoría de los casos, vale la pena señalar que, debido al límite de 72 caracteres por línea de MANIFEST.MF, es posible que esté reemplazando las claves cuyos valores están divididos en varias líneas y, por lo tanto, será muy difícil de analizar. Me encantaría ver una herramienta CLI que realmente pueda extraer un valor representado del archivo.
http://delaltctrl.blogspot.com/2009/11/manifestmf-apparently-you-are-just.html
- 1. leyendo el archivo MANIFEST.MF del archivo jar usando JAVA
- 2. Convenciones para contenido adicional del archivo manifest.mf?
- 3. ¿Cómo leer usando "leer" del descriptor de archivo 3 en el script bash?
- 4. ¿Cómo verifico el orden de MANIFEST.MF dentro de jar?
- 5. ¿Qué es el uso de MANIFEST.MF en WAR/JAR/EAR?
- 6. ¿Cómo leer un archivo del jar en Java?
- 7. Leer archivo de propiedades fuera del archivo JAR
- 8. Agregar información del vendedor a MANIFEST.MF usando sbt-assembly
- 9. Bash Script - Leer archivo binario
- 10. Cómo leer MANIFEST.MF dentro de la aplicación WAR?
- 11. manifest.mf se sobreescribe por ecplise durante la exportación jar
- 12. ¿Cómo leer un archivo de un archivo jar?
- 13. Cómo excluir el archivo de propiedades del archivo jar?
- 14. Cómo leer un archivo dentro de un Jar con JRuby
- 15. M2Eclipse, META-INF/MANIFEST.MF
- 16. Usando el archivo Java JAR en .NET
- 17. modificar el archivo de configuración usando el script bash
- 18. Bash- ¿cómo leer la penúltima línea de un archivo?
- 19. leer el archivo db SQLite usando java
- 20. leer el archivo xml usando http
- 21. convirtiendo el archivo de clase al archivo jar usando C++
- 22. Obtener tiempo de compilación JAR
- 23. ¿Cómo cambiar el icono del archivo jar ejecutable?
- 24. Actualización del archivo .class en el jar
- 25. Reducir el tamaño del archivo jar externo
- 26. Para ver el contenido del archivo .jar
- 27. ¿Cómo extraer clases del archivo .jar?
- 28. ¿Cómo leer el contenido del archivo desde un archivo?
- 29. ¿Cómo modifico un archivo en un archivo jar usando ANT?
- 30. Cómo leer un archivo CSV usando iOS
Los archivos jar son solo archivos zip. –