java - see - update manifest file in jar
JAR-extracción de archivos específicos (3)
Tengo archivos .class y .java en el archivo JAR. ¿Hay alguna forma de extraer solo archivos .java? He intentado este comando pero no funciona:
jar xf jar-file.jar *.java
De la source:
Para extraer solo ciertos archivos de un archivo jar, proporcione sus nombres de archivo:
C:/Java> jar xf myFile.jar foo bar
El uso de comodines es una cuestión de shell, y no debe esperar que funcione cuando se extrae de un archivo JAR (que, como se habrá dado cuenta, es el caso).
Lo que puede hacer es proporcionar una lista de los archivos que desea extraer, a través del modificador @
:
jar xf my.jar @myfiles.lst
donde myfiles.lst
sería:
com/my/MyClass.java
com/my/MySecondClass.java
Este archivo podría crearse fácilmente con el uso creativo de jar tvf
, awk
y su patrón de extracción deseado. Dejaré eso como un ejercicio y / u otra pregunta SO :-)
O puedes usar unzip
, un archivo JAR es básicamente un archivo zip.
Aclamaciones,
No debería haber ningún archivo * .java en un jar, solo archivos de clase. Puedes verificar el contenido del jar primero ejecutando:
jar tvf jar-file.jar
Puede usar el comando unzip
que acepta comodines en sus argumentos (que no es el caso del comando jar
). Algo como esto debería hacer el truco (descargo de responsabilidad: no probado)
unzip youFile.jar "*.java"