Dudleybrooks
Pôster original- 4 de abril de 2011
- são Francisco
- 14 de abril de 2011
Jiminaus
- 16 de dezembro de 2010
- Sydney
- 15 de abril de 2011
'Alterar uma única linha em um arquivo .jar' não faz sentido diretamente no contexto do arquivo .jar. Se você nos disser exatamente o que deseja fazer com esse arquivo .jar, poderemos dizer quais ferramentas / programas do Mac OS X você pode usar e como. M
mufflon
- 15 de setembro de 2006
- 15 de abril de 2011
Na verdade, existem três fases: extração, modificação e montagem novamente.
Extrair é fácil: clique com o botão direito e clique em desarquivar (afaik).
Modificação: se for o manifesto (classe a ser executada e assim por diante), então é fácil, porém os arquivos java são compilados em arquivos .class e precisarão ser desmontados antes da modificação.
Para juntar tudo, google o comando 'jar' para o terminal.
Se for FOSS, é melhor e mais fácil de compilar a partir do código-fonte; senão, não acho que seja 100% legítimo. D
Dudleybrooks
Pôster original- 4 de abril de 2011
- são Francisco
- 15 de abril de 2011
Fiz essa alteração muitas e muitas vezes no Windows (ou seja, sempre que baixei uma atualização, o que, é claro, apagou minha alteração anterior). A pessoa que recomendou a mudança também recomendou um (des) arquivador chamado IZArc, no qual todo o processo poderia ser feito de dentro do IZArc - abra (desarquive) o arquivo .jar, localize o arquivo .js, edite a linha ... e, em seguida, clicar em Sair retornaria tudo ao seu estado arquivado.
Eu entendo que posso desarquivar o .jar com qualquer desarquivador e editar o .js com qualquer editor de texto. Acho que minha preocupação é que, não sendo um programador, posso fazer algo prejudicial ao re-arquivamento - não arquivar todos os arquivos relevantes, ou arquivar muitos arquivos, ou algo assim.
Portanto, minha pergunta é: Existe um arquivador (espero que no sistema operacional) que fará tudo acima de si mesmo, para que eu saiba que o .jar final contém exatamente os arquivos que ele deve conter? Ou, na falta disso, o que preciso fazer para ter certeza de que o re-arquivei de maneira adequada? Sei que neste fórum esta é uma pergunta completa para novatos.
notjustjay
- 19 de setembro de 2003
- Canadá, hein?
- 15 de abril de 2011
chown 33
Moderador
Membro da equipe- 9 de agosto de 2009
- o plano abismal
- 15 de abril de 2011
notjustjay disse: Bem, se os arquivos .jar são simplesmente arquivos ZIP com uma extensão diferente, então você pode compactar e descompactá-los livremente do Terminal usando os comandos 'zip' e 'unzip'.
Ou use o comando 'jar', que é escrito expressamente para esse propósito, e mantém a ordem correta para manifestos (que normalmente devem residir como a primeira entrada, ou no máximo uma das primeiras).
Tenho certeza de que o comando jar é instalado por padrão. Isso deve continuar a ser verdade no 10.7 Lion também.
notjustjay
- 19 de setembro de 2003
- Canadá, hein?
- 15 de abril de 2011
chown33 disse: Ou use o comando 'jar', que é escrito expressamente para esse propósito, e mantém a ordem correta para manifestos (que normalmente devem residir como a primeira entrada ou, no máximo, uma das primeiras).
Tenho certeza de que o comando jar é instalado por padrão. Isso deve continuar a ser verdade no 10.7 Lion também.
Ah, melhor ainda. Obrigado, não sabia disso.
pilotError
- 12 de abril de 2006
- Ilha Longa
- 15 de abril de 2011
$ jar -xvf jarfile.jar ** Extrai os arquivos
** edite o arquivo **
$ jar -cvf jarfile.jar ** Crie o novo arquivo Jar
Dudleybrooks
Pôster original- 4 de abril de 2011
- são Francisco
- 15 de abril de 2011
chown 33
Moderador
Membro da equipe- 9 de agosto de 2009
- o plano abismal
- 15 de abril de 2011
dudleybrooks disse: Obrigado. O método do PilotError era direto e bem-sucedido - sem erros de software, erros de novato ou mesmo erros de piloto. Mas ainda tinha mais etapas do que eu precisava no Windows: mudar do Terminal após desarquivar, para a área de trabalho para usar um editor (minha culpa, admito, por não saber o (s) editor (es) unix aos quais presumo que o Terminal tenha acesso) e, em seguida, de volta ao Terminal para pesquisar - mais as combinações de teclas necessárias para os comandos unix. Eu ainda gostaria de encontrar um editor que faça * tudo * dentro de um programa, como o IZArc fazia no Windows: ctrl-open, edit, ctrl-close - zip-zip (trocadilho intencional)!
Não conheço nenhuma ferramenta que faça tudo. Francamente, esta é a primeira vez que vi alguém perguntar como editar um arquivo em um jar no Mac OS, então acho que não há um grande mercado-alvo.
Você pode colar linhas de comando no Terminal, então apenas salve os comandos em um arquivo de texto, copie e cole. Nenhuma digitação necessária.
Aqui está aproximadamente o que eu salvaria no arquivo 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, você deve alterar o jarfile.jar para o arquivo jar real que possui. Mostrei ## porque esses são os caracteres de comentário reais do bash.
Também mostrei um comando 'open -e' com um nome de caminho que você terá que substituir. O -e aberto abrirá o arquivo nomeado em TextEdit.app. Se você tiver outro editor de sua preferência, pode dizer para 'abrir' para usá-lo. Aqui está a página do manual para o comando 'abrir':
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
Observe as opções -a e -b em particular.
Finalmente, você pode colocar outros comandos lá, como um 'cd someDir' ou qualquer outra coisa que você queira.
Você provavelmente poderia escrever um script 'sed' para fazer a substituição, então não teria que editar o arquivo manualmente. Em seguida, você poderia transformar tudo em um script de shell, envolvê-lo em um AppleScript e salvá-lo como uma gota. Então, no futuro, você simplesmente solta seu aplicativo original no droplet AppleScript e ele faria todas as alterações automaticamente. Você teria que escrever e depurar todas essas coisas, no entanto, e provavelmente levaria horas a mais do que apenas copiar / colar quando o aplicativo fosse atualizado.
Se a mudança no jar for algo que o fornecedor deve fornecer, você provavelmente deve enviar um relatório de bug para o aplicativo. Porque a solução mais limpa é não ter que consertar você mesmo.
pilotError
- 12 de abril de 2006
- Ilha Longa
- 15 de abril de 2011
Existem utilitários zip no OS X, mas admito que não uso o OS X como uso o Windows. Tenho certeza de que você poderia rastrear um dos programas que lhe permitirá fazer a mesma coisa, mas para o que era necessário aqui, não valia a pena procurá-lo. D
Dudleybrooks
Pôster original- 4 de abril de 2011
- são Francisco
- 16 de abril de 2011
Chown33: Obrigado pelo conselho sobre automação e os detalhes envolvidos. Vou experimentá-los. Meu Deus, posso me tornar um programador!
É algo que * eu * acho que deve ser consertado, mas não é um bug: o Thunderbird tem um recurso de Pesquisa Avançada para endereços de e-mail, que pode retornar vários endereços. Se você clicar em Gravar, eles serão colocados nos campos 'Para' (sem outra opção). A mudança faz com que sejam colocados em campos 'BCC', para melhor netiqueta. O TB 1.x costumava ter essa opção, mas a perdeu no 2.x. P
peregin55
- 25 de fevereiro de 2008
- 8 de maio de 2011
No Linux e Mac OS X eu uso emacs para editar arquivos dentro de um jar. Basta digitar:
emacs somejar.jar
Você pode então navegar por todos os arquivos no jar, abrir, salvar, o que quer que seja usando os comandos padrão do emacs. Todas as alterações feitas serão aplicadas automaticamente ao jar (não há necessidade de descompactar manualmente nada)
Dudleybrooks
Pôster original- 4 de abril de 2011
- são Francisco
- 8 de maio de 2011
peregin55
É bom saber disso.
-
Dudley B
grande desastre
- 14 de janeiro de 2010
- 8 de junho de 2012
Alguma ideia?
TopHatProductions115
- 22 de agosto de 2016
- 10 de novembro de 2016
pilotError disse: Ou você pode usar o comando jar. Os parâmetros são como os utilitários zip da linha de comando
$ jar -xvf jarfile.jar ** Extrai os arquivos
** edite o arquivo **
$ jar -cvf jarfile.jar ** Crie o novo arquivo Jar
Isso funcionará para arquivos java assinados?
Michaelwarne
- 11 de novembro de 2016
- 11 de novembro de 2016
- Navegue até o local do arquivo do terminal.
- Digite vim name.jar
- Selecione o arquivo que deseja alterar e pressione Enter
- Edite o arquivo e pressione Esc e: wq! para salvar e sair.
okieiam
- 17 de dezembro de 2016
- 18 de dezembro de 2016
Jtara
- 23 de abril de 2009
- 21 de dezembro de 2016
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions C
Clovr
- 13 de novembro de 2018
- 13 de novembro de 2018
michaelwarne disse: Você pode usar o editor vim para editar os arquivos em qualquer arquivo de texto compactado.não podemos automatizar isso usando um bash? seria muito útil se você se iluminar por meio dele.
Espero que isto ajude.
- Navegue até o local do arquivo do terminal.
- Digite vim name.jar
- Selecione o arquivo que deseja alterar e pressione Enter
- Edite o arquivo e pressione Esc e: wq! para salvar e sair.
Publicações Populares