Dudleybrooks
Poster original- 4 de abril de 2011
- San Francisco
- 14 de abril de 2011
Jiminaus
- 16 de diciembre de 2010
- Sydney
- 15 de abril de 2011
'Cambiar una sola línea en un archivo .jar' no tiene sentido directamente en el contexto del archivo .jar. Si nos dice exactamente qué quiere hacer con ese archivo .jar, es posible que podamos decirle qué herramientas / programas de Mac OS X puede usar y cómo. METRO
muflón
- Sep 15, 2006
- 15 de abril de 2011
En realidad, hay tres fases: extracción, modificación y ensamblaje.
Extraer es fácil: haga clic con el botón derecho y haga clic en Desarchivar (afaik).
Modificación: si es el manifiesto (qué clase se ejecuta, etc.) entonces es fácil, sin embargo, los archivos java se compilan en archivos .class y deberán desmontarse antes de modificarlos.
Para juntar todo, busque en Google el comando 'jar' para la terminal.
Si es FOSS, es mejor y más fácil de compilar desde la fuente; si no, no creo que sea 100% legítimo. D
Dudleybrooks
Poster original- 4 de abril de 2011
- San Francisco
- 15 de abril de 2011
Hice este cambio muchas, muchas veces en Windows (es decir, cada vez que descargué una actualización, que, por supuesto, borró mi cambio anterior). La persona que recomendó el cambio también recomendó un (des) archivador llamado IZArc, en el que todo el proceso podría realizarse desde dentro de IZArc: abrir (desarchivar) el archivo .jar, buscar el archivo .js, editar la línea ... y luego hacer clic en Salir devolverá todo a su estado de archivo.
Entiendo que puedo desarchivar el .jar con cualquier desarchivador y editar el .js con cualquier editor de texto. Supongo que mi preocupación es que, al no ser programador, podría hacer algo dañino al volver a archivar: no archivar todos los archivos relevantes, o archivar demasiados archivos, o algo así.
Entonces, mi pregunta es: ¿Existe un archivador (con suerte en el sistema operativo) que hará todo lo anterior desde dentro, para que yo sepa que el archivo .jar final contiene exactamente los archivos que debería contener? O, en su defecto, ¿qué debo hacer para asegurarme de que lo he vuelto a archivar correctamente? Me doy cuenta de que en este foro esta es una pregunta completa para principiantes.
notjustjay
- Sep 19, 2003
- Canadá, ¿eh?
- 15 de abril de 2011
chown33
Moderador
Miembro del equipo- 9 de agosto de 2009
- el plano abismal
- 15 de abril de 2011
notjustjay dijo: Bueno, si los archivos .jar son simplemente archivos ZIP con una extensión diferente, entonces puede comprimirlos y descomprimirlos libremente desde la Terminal usando los comandos 'zip' y 'unzip'.
O use el comando 'jar', que está escrito expresamente para este propósito, y mantiene el orden correcto para los manifiestos (que normalmente debe residir como la primera entrada, o como máximo una de las primeras).
Estoy bastante seguro de que el comando jar está instalado de forma predeterminada. Esto también debería seguir siendo cierto en 10.7 Lion.
notjustjay
- Sep 19, 2003
- Canadá, ¿eh?
- 15 de abril de 2011
chown33 dijo: O use el comando 'jar', que está escrito expresamente para este propósito, y mantiene el orden correcto para los manifiestos (que típicamente debe residir como la primera entrada, o como máximo una de las primeras).
Estoy bastante seguro de que el comando jar está instalado de forma predeterminada. Esto también debería seguir siendo cierto en 10.7 Lion.
Ah, incluso mejor. Gracias, no sabía nada de eso.
pilotError
- 12 de abril de 2006
- Isla Grande
- 15 de abril de 2011
$ jar -xvf jarfile.jar ** Extrae los archivos
** editar el archivo **
$ jar -cvf jarfile.jar ** Crea el nuevo archivo Jar
Dudleybrooks
Poster original- 4 de abril de 2011
- San Francisco
- 15 de abril de 2011
chown33
Moderador
Miembro del equipo- 9 de agosto de 2009
- el plano abismal
- 15 de abril de 2011
dudleybrooks dijo: Gracias. El método de PilotError fue sencillo y exitoso: sin errores de software, errores de novatos o incluso errores de piloto. Pero todavía tenía más pasos de los que solía necesitar en Windows: cambiar de Terminal después de desarchivar, al escritorio para usar un editor (mi culpa, es cierto, por no conocer los editores de Unix a los que supongo que Terminal tiene acceso) , luego de vuelta a la Terminal para volver a archivar, además de las pulsaciones de teclas necesarias para los comandos de Unix. Todavía me gustaría encontrar un editor que lo haga * todo * dentro de un programa, como lo hizo IZArc en Windows: ctrl-open, edit, ctrl-close - zip-zip (juego de palabras).
No conozco ninguna herramienta que lo haga todo. Francamente, esta es la primera vez que veo a alguien preguntar cómo editar un archivo dentro de un frasco en Mac OS, así que supongo que no hay un gran mercado objetivo.
Puede pegar líneas de comando en la Terminal, así que simplemente guarde los comandos en un archivo de texto, luego cópielos y péguelos. No es necesario escribir.
Esto es aproximadamente lo que guardaría en el archivo de texto:
Código:
jar -xvf jarfile.jar ## Extracts the files open -e path/to/fileYouWantToEdit.itsExtension jar -cvf jarfile.jar ## Create the new Jar file
Obviamente, debería cambiar jarfile.jar al archivo jar real que tiene. He mostrado ## porque esos son el carácter de comentario real para bash.
También he mostrado un comando 'open -e' con un nombre de ruta que tendrá que sustituir. El -e abierto abrirá el archivo nombrado en TextEdit.app. Si tiene otro editor que prefiera en su lugar, puede decirle a 'abrir' que lo use en su lugar. Aquí está la página de manual del comando 'abrir':
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
Mire las opciones -a y -b en particular.
Finalmente, puede poner otros comandos allí, como un 'cd someDir' o cualquier otra cosa que desee.
Probablemente podría escribir un script 'sed' para hacer el reemplazo, por lo que no tendría que editar manualmente el archivo. Luego, podría convertir todo en un script de shell, envolverlo en un AppleScript y guardarlo como una gota. Luego, en el futuro, simplemente coloque su aplicación original en la gota de AppleScript y hará todos los cambios automáticamente. Sin embargo, tendrías que escribir y depurar todas esas cosas, y probablemente tomaría horas más que simplemente copiar y pegar cuando la aplicación se actualice.
Si el cambio en el jar es algo que el proveedor debería proporcionar, probablemente debería presentar un informe de error contra la aplicación. Porque la solución más limpia es no tener que arreglarlo usted mismo.
pilotError
- 12 de abril de 2006
- Isla Grande
- 15 de abril de 2011
Hay utilidades zip en OS X, pero es cierto que no uso OS X como uso Windows. Estoy seguro de que podría rastrear uno de los programas que le permitirá hacer lo mismo, pero para lo que se necesitaba aquí, no valía la pena buscarlo. D
Dudleybrooks
Poster original- 4 de abril de 2011
- San Francisco
- 16 de abril de 2011
Chown33: Gracias por el consejo sobre la automatización y los detalles involucrados. Yo los probaré. Dios mío, ¡podría convertirme en programador!
Es algo * creo * que debería arreglarse, pero no es un error: Thunderbird tiene una función de búsqueda avanzada para direcciones de correo electrónico, que pueden devolver varias direcciones. Si hace clic en Escribir, los coloca todos en los campos 'Para' (sin otra opción). El cambio hace que los coloque en los campos 'BCC', para una mejor etiqueta de red. TB 1.x solía tener esta opción, pero la perdió en 2.x. PAG
peregin55
- Feb 25, 2008
- 8 de mayo de 2011
En Linux y Mac OS X utilizo emacs para editar archivos dentro de un jar. Sólo tipo:
emacs somejar.jar
Luego puede navegar por todos los archivos en el jar, abrir, guardar, lo que sea usando los comandos estándar de emacs. Cualquier cambio que realice se aplicará automáticamente al frasco (no es necesario abrir nada manualmente)
Dudleybrooks
Poster original- 4 de abril de 2011
- San Francisco
- 8 de mayo de 2011
peregin55
Es bueno saberlo.
--
Dudley B
gran desastre
- 14 de enero de 2010
- 8 de junio de 2012
¿Algunas ideas?
TopHatProductions115
- 22 de agosto de 2016
- 10 de noviembre de 2016
pilotError dijo: O puede usar el comando jar. Los parámetros son como las utilidades zip de la línea de comandos
$ jar -xvf jarfile.jar ** Extrae los archivos
** editar el archivo **
$ jar -cvf jarfile.jar ** Crea el nuevo archivo Jar
¿Funcionará esto para archivos java firmados?
Michaelwarne
- 11 de noviembre de 2016
- 11 de noviembre de 2016
- Navegue a la ubicación del archivo desde la terminal.
- Escriba vim name.jar
- Seleccione el archivo que desea cambiar y presione Enter
- Edite el archivo y presione Esc y: wq! para ahorrar y salir.
okieiam
- 17 de diciembre de 2016
- 18 de diciembre de 2016
jtara
- Mar 23, 2009
- 21 de diciembre de 2016
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions C
Clovr
- 13 de noviembre de 2018
- 13 de noviembre de 2018
michaelwarne dijo: Puede usar el editor vim para editar los archivos en cualquier archivo de texto comprimido.¿No podemos automatizar esto usando un bash? Sería de mucha ayuda si se iluminara a través de él.
Espero que esto ayude.
- Navegue a la ubicación del archivo desde la terminal.
- Escriba vim name.jar
- Seleccione el archivo que desea cambiar y presione Enter
- Edite el archivo y presione Esc y: wq! para ahorrar y salir.
Entradas Populares