当我使用 Spotlight 寻找应用程序时,最重要的条目通常是 JAR 文件。这很烦人。是否可以更改 Spotlight 以使 JAR 文件不被视为应用程序?
我想做同样的事情,但我认为答案是“这是不可能的”,或者至少“尝试会有风险”。
这是我迄今为止发现的。
我首先假设 Spotlight 推断 JAR 文件是 kind:application 因为 JAR 文件默认与 Jar Launcher.app 相关联。也许如果我们可以删除该关联,那么 Spotlight 将停止将 JAR 文件索引为应用程序。
这可以在 Finder 中以标准方式完成。在 Finder 中查看 JAR 文件,查看信息,在“打开方式”下选择不同的应用程序,单击“全部更改”。我尝试了这个并且 Spotlight 结果没有变化,但是我没有尝试重建我的 Spotlight 索引。
我不喜欢这样,因为我不希望存档实用程序与 JAR 文件关联,我也不想关联其他应用程序。这导致我...
本文旨在告诉您如何删除文件关联。这只是部分正确。它可以删除您之前手动添加的关联。事实证明,删除来自系统的关联并不好。我尝试了引用的应用程序 [RCDefaultApp][],文章称它可以禁用任何关联。事实证明,该应用程序只是使用了一个 kludge/解决方法。它通过创建与虚拟应用程序的新关联而不是删除实际关联来“禁用”文件关联。这与创建您自己的什么都不做的应用程序并将其与 .jar 文件相关联没有什么不同。
其中一些文章引用了lsregister命令行实用程序(如何重建启动服务关联的一部分)。运行这个:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
Run Code Online (Sandbox Code Playgroud)
您将获得大量 Launch Services 配置的转储。包括这些相关部分:
bundle id: 48
path: /System/Library/CoreServices/CoreTypes.bundle
name: CoreTypes
identifier: com.apple.coretypes (0x800000ff)
...
--------------------------------------------------------
type id: 2224
uti: com.sun.java-archive
description: Java archive
flags: exported active core apple-internal trusted
icon:
conforms to: public.zip-archive, public.executable
tags: .jar, application/java-archive
...
--------------------------------------------------------------------------------
bundle id: 21264
path: /System/Library/CoreServices/Jar Launcher.app
name: Jar Launcher
...
library items:
...
--------------------------------------------------------
claim id: 25284
name: Java JAR file
rank: Default
roles: Viewer
flags: apple-default apple-internal relative-icon-path
icon: Contents/Resources/JAR.icns
bindings: com.sun.java-archive, .jar
Run Code Online (Sandbox Code Playgroud)
这对我来说说了几件事:
conforms to: public.zip-archive, public.executable
让我相信我错了 Jar Launcher 的关联与 Spotlight 如何索引 JAR 文件有关。我将输出解释为“JAR 文件是一种核心类型,被认为是档案和应用程序”我真的很不舒服 /System/Library/CoreServices/CoreTypes.bundle,但似乎这是更改“Java 存档”类型所必需的,从“符合”中删除“public.executable”。我会把我的钱放在 Spotlight 在索引 JAR 文件并将它们视为 kind:application 时使用的。
作为 Java 开发人员,您知道并非所有 JAR 文件都是应用程序。更复杂的索引器可以检查 JAR 中的清单。但这只会修复 Spotlight。可以说这是一个 OS X 错误,Finder 将所有 JAR 文件视为应用程序,允许您对它们进行 Command-O 并尝试通过 Jar Launcher 运行它们。在不了解 Launch Services 的更多信息的情况下,这似乎是此处工作的以文件扩展名为中心的机制的限制。无赖。
我认为你必须在聚光灯下过滤搜索。
系统偏好设置>> Spotlight,在搜索结果中,删除“应用程序”标记。希望这有效。
我恳请建议使用Google 快速搜索框 。它允许您在计算机上和网络上搜索数据。我认为它比聚光灯更强大。
| 归档时间: |
|
| 查看次数: |
4001 次 |
| 最近记录: |