【问题标题】:How to search Jar files using Windows Search?如何使用 Windows Search 搜索 Jar 文件?
【发布时间】:2010-10-27 02:22:10
【问题描述】:

我相信当我们使用 Win2K 时,Windows Search 会搜索 Jar 文件来定位特定的类,但这在 XP 中似乎不起作用。有谁知道如何在 XP 中启用此功能?

注意,要在 Win2K 中进行搜索,我们只需为文件输入 *.jar 并为搜索文本字符串输入“ClassABC”,搜索将返回任何包含标题包含“ClassABC”的类文件的 jar 文件。

【问题讨论】:

    标签: windows search windows-xp jar


    【解决方案1】:

    将此添加到文本文件,保存文件,将扩展名更改为 .reg,双击添加到注册表,您应该没问题...您可以搜索文件名或内容,它应该显示具有类的 jar名字

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\.jar\PersistentHandler]
    @="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
    

    剩下的唯一事情就是注销并重新登录到 Windows,它应该可以正常工作,请参阅 http://support.microsoft.com/kb/309173 了解更多详细信息

    【讨论】:

    • 呵呵...在我的回复中还有比上面的链接更多...但无论如何...您只是用纯文本过滤器标记扩展
    • @curtisk 对,最好搜索一下 zip 文件的 PersistentHandler 并将其添加到默认条目中。
    【解决方案2】:

    我也会推荐total commander。它是一款出色的文件管理工具,具有强大的搜索功能,可以轻松查看 jar 文件。

    【讨论】:

    • 我已经开始尝试 Agent Ransack,看起来很相似。
    • Agent Ransack 不会在 JAR、ZIP 和其他档案中搜索文件名。
    • 我试过total command,在jar里根本找不到任何文字!
    【解决方案3】:

    如果它被删除,很可能是由于在 XP 开发期间发生的 Sun 与 Microsoft Java 纠纷。不太可能有办法重新启用它。

    您可能会发现这很有帮助:http://jarbrowser.sourceforge.net/

    【讨论】:

    • 有趣。我认为可能有一个注册表项可以启用它。
    【解决方案4】:

    只需使用 FindClassInJars 工具,它是一个简单的 swing 程序,但很有用。 您可以在http://code.google.com/p/find-class-in-jars/查看源代码或下载jar文件

    【讨论】:

    • 是的,感谢分享,但该项目的构建看起来很糟糕 - 下载部分的 jar 中没有任何内容。来源是here我可能只是把它放在GitHub上;)
    • 我已经提交了一个问题,我们看看他是否更正。 here
    • 我在 github 上 fork 了这个项目,稍微清理了一下并构建了它。请参阅下面的回复。
    【解决方案5】:

    我在这里制作了另一个版本的 FindClassInJars。外观相同,但搜索效果更好、更智能。单击此处的“原始”按钮: https://github.com/Oxvalley/FindClassInJars/blob/master/lib/findclassinjars-2.0.0.jar

    【讨论】:

    • 这对我有用,虽然它似乎不支持通配符搜索,只支持子字符串搜索。
    【解决方案6】:

    根据this MSDN Channel 9 article,添加适当的IFilter 即可。由于 .jar 文件与 .zip 文件相同,因此它们列出的 four ZIP file IFilters 之一可能有效(除非它们都是基于扩展名的)。

    【讨论】:

      【解决方案7】:

      来自Brenden Anstey's Blog

      Windows Registry Editor Version 5.00
      
      [HKEY_CLASSES_ROOT\.jar]
      "Content Type"="application/x-zip-compressed"
      "PerceivedType"="compressed"
      @="CompressedFolder"
      
      [HKEY_CLASSES_ROOT\.jar\CompressedFolder]
      
      [HKEY_CLASSES_ROOT\.jar\CompressedFolder\ShellNew]
      "Data"=hex:50,4b,05,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
      
      [HKEY_CLASSES_ROOT\.jar\OpenWithProgids]
      "CompressedFolder"=""
      
      [HKEY_CLASSES_ROOT\.jar\PersistentHandler]
      @="{098f2470-bae0-11cd-b579-08002b30bfeb}"
      
      [HKEY_CLASSES_ROOT\.war]
      "Content Type"="application/x-zip-compressed"
      "PerceivedType"="compressed"
      @="CompressedFolder"
      
      [HKEY_CLASSES_ROOT\.war\CompressedFolder]
      
      [HKEY_CLASSES_ROOT\.war\CompressedFolder\ShellNew]
      "Data"=hex:50,4b,05,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
      
      [HKEY_CLASSES_ROOT\.war\OpenWithProgids]
      "CompressedFolder"=""
      
      [HKEY_CLASSES_ROOT\.war\PersistentHandler]
      @="{098f2470-bae0-11cd-b579-08002b30bfeb}"
      
      [HKEY_CLASSES_ROOT\.ear]
      "Content Type"="application/x-zip-compressed"
      "PerceivedType"="compressed"
      @="CompressedFolder"
      
      [HKEY_CLASSES_ROOT\.ear\CompressedFolder]
      
      [HKEY_CLASSES_ROOT\.ear\CompressedFolder\ShellNew]
      "Data"=hex:50,4b,05,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
      
      [HKEY_CLASSES_ROOT\.ear\OpenWithProgids]
      "CompressedFolder"=""
      
      [HKEY_CLASSES_ROOT\.ear\PersistentHandler]
      @="{098f2470-bae0-11cd-b579-08002b30bfeb}"
      

      【讨论】:

        【解决方案8】:

        我知道这不是 Windows 搜索,但我长期以来一直使用 Agent Ransack:它非常快速,可以搜索所有各种 java 存档格式(jar、war、ear)以及 zip。

        我特别喜欢并经常使用的一个功能是保存搜索:您可以保存条件(以便您可以轻松地重复该搜索)或结果。所以当我在一个项目上工作时,我经常会想要在项目目录树中搜索文件(或 jar/zip 中的文件)。我执行一次搜索并将条件保存为 .srf 文件,之后我可以快速打开该文件以执行类似的搜索。

        【讨论】:

        【解决方案9】:

        As suggested by @iubing,FindClassInJars 代码运行良好,但作者一定是搞砸了。

        我已经从谷歌代码中分叉了 FindClassInJars 实用程序,您可以获得一个有效的构建副本here。只需点击“原始”按钮。

        【讨论】:

          【解决方案10】:

          不久前我开发了这个:https://github.com/javalite/jar-explorer 只是为了这个场合。甚至可以在 Windows 上工作 :)

          【讨论】:

            猜你喜欢
            • 2012-12-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-11-11
            • 1970-01-01
            • 1970-01-01
            • 2010-10-01
            • 2022-11-17
            相关资源
            最近更新 更多