Estou tentando visualizar o conteúdo de um arquivo .war. Eu primeiro configurei suas permissões com chmod 777, então quando tento acessá-lo usando:

cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/ 

Está dando cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directory e não posso prosseguir.

Alguém pode me ajudar com esse problema?

Comentários

  • Não ' t use chmod 777 em um arquivo compactado. Você não ' não precisa do bit de execução para lê-lo. Um 644 ou 640 seguro é recomendado.
  • Veja os documentos Java oficiais: docs.oracle.com/javase/tutorial/deployment/jar/view.html
  • É /usr/local/standalone/deployments/Sample.war um diretório ou um arquivo?

Resposta

Os arquivos .war são compactados. Você pode extrair as informações usando um dos seguintes comandos:

jar -xvf Sample.war unzip Sample.war 

Você deve ser capaz de executar cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/

Comentários

  • jar -xvf *war ganhou ' t funcionará se houver mais de um arquivo war no diretório atual. tar -xvfz não ' não funcionou, você está confundindo arquivos compactados com gzip.
  • Isso é verdade, Eu não ' não quis inferir que funcionaria com várias guerras, apenas que você poderia usar esse comando literalmente para qualquer guerra. Eu ' mudei
  • Acho que ' é melhor usar jar -tvf e não da maneira jar -xvf proposta. Portanto, os arquivos não são ' extraídos (e contaminam o seu.), Mas apenas listados.

Resposta

.war os arquivos são compactados.

Você pode listar o que eles contêm com

jar tvf Sample.war 

ou

zipinfo Sample.war 

Se quiser ver o conteúdo dos arquivos armazenados em um arquivo, você precisa primeiro extraí-lo em algum lugar :

mkdir /tmp/foo cd /tmp/foo unzip /usr/local/standalone/deployments/Sample.war ls -l WEB-INF/classes/ 

Resposta

Se você não quiser extrair o arquivo você pode usar vim filename.war para ler o conteúdo do arquivo. Você pode ler os subdiretórios dos arquivos selecionando-os e pressionando Enter.

Comentários

  • Para que isso funcione, você precisa do pacote unzip instalado.

Resposta

Primeiro você deve extrair o arquivo war jar xvf Sample.war. Depois, você pode fazer o cd para o arquivo war.

Resposta

Se os comandos unix não funcionarem, faça ftp do arquivo para a máquina local.

.jar ou .war ou .ear qualquer arquivo pode ser aberto em 7-Zip seguindo as etapas abaixo –

  1. Clique com o botão direito do mouse no arquivo
  2. 7-Zip
  3. Abrir arquivo

Você deve ser capaz de ver todo o arquivo compactado conteúdo. Agora navegue pela pasta / arquivo e clique com o botão direito -> editar o arquivo -> salvar o arquivo.

Resposta

Além de extraí-los com jar ou unzip, você também pode usar o Midnight Commander (mc) e navegar até esses arquivos e pressione Enter neles como se fossem diretórios.

Se isso não funcionar imediatamente, seu tipo de mc não está configurado para saber o sufixo .war, mas você ainda pode usar esse recurso digitando cd Sample.war # uzip (antigo mc) ou cd Sample.war / uzip: // (mc no Debian instável) e pressionando Enter. Como um benefício adicional, pressione Escape e Enter (em alguns terminais, também Alt-Enter, mas isso não é portátil, então não dependa disso) insere o nome do arquivo atual na linha de comando, mas você terá que pressionar Backspace também porque adiciona um espaço, e o #uzip ou / uzip: // precisa seguir imediatamente o nome do arquivo.

Isso é conhecido como mc VFS (sistema de arquivos virtual).

Não vou repetir as respostas de descompactação / fastjar / jar aqui, mas também estão corretas.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *