查找哪些 jars 包含文件

Cin*_*Joe 3 search windows-7 jar

使用 Windows XP,我记得能够使用 Windows 搜索来查找目录中的哪些 jar 包含特定的类文件。但是在 Windows 7 上,这似乎不再起作用。我已将搜索选项选中为“包括压缩文件(ZIP、CAB、...)”,但这似乎没有帮助。搜索文件内容(在初始搜索失败后显示为一个选择)似乎也不起作用。

我能够通过使用以下命令找到该文件,但这很痛苦(必须在所需目录中打开命令提示符,粘贴更新的命令,并目视检查结果,如果有很多 jar,结果可能会很长) .

for %i in (*.jar) DO %JDKHOME%\bin\jar.exe tf %i | grep myfile
Run Code Online (Sandbox Code Playgroud)

Spe*_*tre 6

默认情况下,Windows 7 不认为 .jar 是可以打开的 zip 文件,因此不会枚举其内容。 您可以使用以下注册表添加来解决此问题:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.jar\PersistentHandler]
@="{3B224B11-9363-407e-850F-C9E1FFACD8FB}"
Run Code Online (Sandbox Code Playgroud)

要么将其粘贴到文本文件中并另存为 fix.reg,然后打开它并同意将其添加到注册表中。

编辑:每台机器的 GUID 是唯一的。反而:

打开注册表编辑器,导航到该键HKEY_CLASSES_ROOT\.zip\PersistentHandler并复制(Default).

然后转到HKEY_CLASSES_ROOT\.jar,添加一个新键PersistentHandler,并将复制的 GUID 粘贴到(Default)值中。

然后在资源管理器中搜索带有工作的 jar 文件,使用搜索文件内容选项。