web-dev-qa-db-ja.com

SpotlightのアプリケーションリストからJARファイルを削除することは可能ですか?

Spotlightを使用するアプリケーションを探しているとき、上位のエントリは多くの場合JARファイルです。これは迷惑です。 JARファイルがアプリケーションと見なされないようにSpotlightを変更することは可能ですか?

8
Jay Stramel

同じことをしたいのですが、答えは「不可能」か、少なくとも「やるのは危険だ」だと思います。

これが私がこれまでに発見したものです。

JARファイルを他のアプリケーションに関連付けますか?

JARファイルはデフォルトでJarLauncher.appに関連付けられているため、SpotlightがJARファイルはkind:applicationであると推測していると想定することから始めました。おそらく、その関連付けを削除できれば、SpotlightはJARファイルのアプリとしてのインデックス作成を停止します。

これは、Finderの標準的な方法で実行できます。 FinderでJARファイルを表示し、情報を表示し、[プログラムから開く]で別のアプリケーションを選択し、[すべて変更]をクリックします。これを試しましたが、Spotlightの結果に変化はありませんでしたが、Spotlightインデックスを再構築しようとしませんでした。

アーカイブユーティリティをJARファイルに関連付けたくないので、これは好きではありません。また、関連付けたい別のアプリケーションもありません。それは私を導きました...

JARランチャーとのJARファイルの関連付けを削除しますか?

この記事 あなたに伝えることを目的としています ファイルの関連付けを削除する方法 。部分的にしか正しくありません。以前に手動で追加した関連付けを削除するために機能します。システムからの関連付けを削除するのは良くないことがわかりました。参照されているアプリケーション[RCDefaultApp] []を試しましたが、この記事では、関連付けを無効にできると書かれています。アプリはただの応急修理/回避策を使用していることがわかりました。実際の関連付けを削除するのではなく、ダミーアプリケーションへの新しい関連付けを作成することにより、ファイルの関連付けを「無効」にします。これは、独自の何もしないアプリケーションを作成し、それを.jarファイルに関連付けることと同じです。

  • RCDefaultApp 関連して、 この回答 質問に Mac OS Xストアファイルの関連付けはどこにありますか があります。最高評価の回答は部分的にしか正しくありません。それが参照するデフォルトは、システムの「デフォルト」デフォルトの独自の「ユーザーごと」の追加またはオーバーライドです。繰り返しますが、できることのほとんどは、代替の関連付けを追加することです。

Jar Launcher.appは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

私にとって、これはいくつかのことを言います:

  • Jar Launcher.appのデフォルトの関連付けは、システム全体のplistファイルなどではなく、/ System/Library/CoreServices/JarLauncher.appから取得されます。協会を壊すためにそこを猿で回ることは可能かもしれません。 JarLauncherをアップグレードするソフトウェアアップデートでこれが元に戻されるのではないかと心配しています
  • Jar Launcherとは関係なく、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について詳しく知らなくても、ここで機能するファイル拡張子中心のメカニズムの制限のようです。

8
toolbear74

Jarファイルは、多くの場合、削減されたディレクトリセットから取得されます。私の場合、ほとんどのjarファイルは「/ Applications/Eclipse/plugins」にありました。そのため、[システム環境設定]> [Spotlight]> [プライバシー]で、Spotlightがこの特定の場所を検索できないようにしました。今、それは魅力のように機能します:)

4
Brian A.

スポットライトで検索をフィルタリングする必要があると思います。

システム環境設定>>スポットライト、検索結果で、「アプリケーション」のドロップマーク。これがうまくいくことを願っています。

Googleクイック検索ボックス を使用することをお勧めします。それはあなたがあなたのコンピュータとウェブ全体でデータを検索することを可能にします。スポットライトよりもパワフルだと思います。

0
Ye Lin Aung