Descobrir quais jars contêm um arquivo

3

Com o Windows XP, lembro-me de poder usar o Windows Search para encontrar quais jars em um diretório contêm um arquivo de classe específico. Mas no Windows 7, isso não parece mais funcionar. Eu tenho a opção de pesquisa marcada para "Incluir arquivos compactados (ZIP, CAB, ...)", mas isso não parece ajudar. A pesquisa do conteúdo do arquivo (que aparece como uma opção após a falha na pesquisa inicial) também parece não funcionar.

Consegui encontrar o arquivo usando o comando a seguir, mas isso é um problema (tem que abrir um prompt de comando no diretório desejado, colar o comando atualizado e inspecionar visualmente os resultados que podem ser muito longos se houver muitos frascos).

for %i in (*.jar) DO %JDKHOME%\bin\jar.exe tf %i | grep myfile
    
por Cincinnati Joe 19.05.2011 / 16:58

2 respostas

5

Por padrão, o Windows 7 não acredita que .jar seja um arquivo zip que possa ser aberto, portanto, não enumera seu conteúdo. Você pode corrigir isso com a seguinte adição do registro:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.jar\PersistentHandler]
@="{3B224B11-9363-407e-850F-C9E1FFACD8FB}"

Cole isso em um arquivo de texto e salve como fix.reg, abra-o e concorde em adicioná-lo ao registro.

EDIT: O GUID é exclusivo por máquina. Em vez disso:

Abra o editor de registro e navegue até a chave HKEY_CLASSES_ROOT\.zip\PersistentHandler e copie o valor em (Default) .

Em seguida, vá para HKEY_CLASSES_ROOT\.jar , adicione uma nova chave PersistentHandler e cole o GUID copiado no valor (Default) .

Em seguida, no Explorer, pesquisando em arquivos jar com o trabalho, usando a opção de conteúdo do arquivo de pesquisa.

    
por 19.05.2011 / 17:53
0

Eu sempre uso o link do Far Manager, que tem um utilitário muito flexível, o "arquivo de localização", que também pode ser pesquisado em arquivos.

    
por 03.11.2015 / 16:19