Spotlightを使用するアプリケーションを探しているとき、上位のエントリは多くの場合JARファイルです。これは迷惑です。 JARファイルがアプリケーションと見なされないようにSpotlightを変更することは可能ですか?
同じことをしたいのですが、答えは「不可能」か、少なくとも「やるのは危険だ」だと思います。
これが私がこれまでに発見したものです。
JARファイルはデフォルトでJarLauncher.appに関連付けられているため、SpotlightがJARファイルはkind:applicationであると推測していると想定することから始めました。おそらく、その関連付けを削除できれば、SpotlightはJARファイルのアプリとしてのインデックス作成を停止します。
これは、Finderの標準的な方法で実行できます。 FinderでJARファイルを表示し、情報を表示し、[プログラムから開く]で別のアプリケーションを選択し、[すべて変更]をクリックします。これを試しましたが、Spotlightの結果に変化はありませんでしたが、Spotlightインデックスを再構築しようとしませんでした。
アーカイブユーティリティをJARファイルに関連付けたくないので、これは好きではありません。また、関連付けたい別のアプリケーションもありません。それは私を導きました...
この記事 あなたに伝えることを目的としています ファイルの関連付けを削除する方法 。部分的にしか正しくありません。以前に手動で追加した関連付けを削除するために機能します。システムからの関連付けを削除するのは良くないことがわかりました。参照されているアプリケーション[RCDefaultApp] []を試しましたが、この記事では、関連付けを無効にできると書かれています。アプリはただの応急修理/回避策を使用していることがわかりました。実際の関連付けを削除するのではなく、ダミーアプリケーションへの新しい関連付けを作成することにより、ファイルの関連付けを「無効」にします。これは、独自の何もしないアプリケーションを作成し、それを.jarファイルに関連付けることと同じです。
これらの記事のいくつかは、lsregister
コマンドラインユーティリティ(Launch Servicesの関連付けを再構築する方法の一部)を参照しています。これを実行します:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
そして、LaunchServicesの構成の大きなダンプを取得します。これらの関連部分を含む:
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
私にとって、これはいくつかのことを言います:
conforms to: public.Zip-archive, public.executable
の少し上にあると、SpotlightがJARファイルにインデックスを付ける方法とJarLauncherの関連付けが関係していることについて私が間違っていたと思います。私は出力を「JARファイルはアーカイブとアプリケーションと見なされるコアタイプである」という意味に解釈します/System/Library/CoreServices/CoreTypes.bundleをいじくり回すのは本当に不快ですが、「Javaアーカイブ」タイプを変更して「conformsto」から「public.executable」を削除する必要があるようです。私は、SpotlightがJARファイルにインデックスを付けてkind:applicationとして扱うときに使用しているものにお金をかけます。
Java開発者として、すべてのJARファイルがアプリケーションであるとは限らないことをご存知でしょう。より洗練されたインデクサーはJAR内のマニフェストを調べることができます。しかし、それはSpotlightを修正するだけです。おそらくそれはOSXのバグです。 FinderはすべてのJARファイルをアプリケーションとして扱い、それらをCommand-Oして、Jar Launcherを介して実行しようとします。LaunchServicesについて詳しく知らなくても、ここで機能するファイル拡張子中心のメカニズムの制限のようです。
Jarファイルは、多くの場合、削減されたディレクトリセットから取得されます。私の場合、ほとんどのjarファイルは「/ Applications/Eclipse/plugins」にありました。そのため、[システム環境設定]> [Spotlight]> [プライバシー]で、Spotlightがこの特定の場所を検索できないようにしました。今、それは魅力のように機能します:)
スポットライトで検索をフィルタリングする必要があると思います。
システム環境設定>>スポットライト、検索結果で、「アプリケーション」のドロップマーク。これがうまくいくことを願っています。
Googleクイック検索ボックス を使用することをお勧めします。それはあなたがあなたのコンピュータとウェブ全体でデータを検索することを可能にします。スポットライトよりもパワフルだと思います。