Коли я шукаю програми, що використовують Spotlight, головними записами часто є файли JAR. Це дратує. Чи можна змінити прожектор, щоб файли JAR не вважалися додатками?
Коли я шукаю програми, що використовують Spotlight, головними записами часто є файли JAR. Це дратує. Чи можна змінити прожектор, щоб файли JAR не вважалися додатками?
Відповіді:
Я хотів би зробити те саме, але я думаю, що відповідь - це "неможливо" або, принаймні, "було б ризикувати".
Ось що я відкрив досі.
Я почав з того, що Spotlight підводить до висновку, що файли JAR є добрими: програма, оскільки файли JAR за замовчуванням асоціюються з Jar Launcher.app. Можливо, якщо ми зможемо зняти цю асоціацію, тоді Spotlight припинить індексувати файли JAR як додатки.
Це можна зробити стандартним способом у Finder. Перегляньте файл JAR у Finder, перегляньте інформацію, виберіть іншу програму під «Відкрити за допомогою», натисніть «Змінити все». Я спробував це і не змінив результатів Spotlight, проте не намагався відновити індекс Spotlight.
Мені це не подобається, тому що я не хочу, щоб утиліта Archive Utility була пов’язана з файлами JAR, а також у мене немає іншого додатка, який я краще асоціюю. Це привело мене до ...
Ця стаття має на меті розповісти про те, як вилучити асоціацію з файлами . Це лише частково правильно. Це працює для видалення асоціації, яку ви раніше додавали вручну. Виявляється, це не корисно для видалення асоціації, яка надходить із системи. Я спробував додаток, на який посилається, [RCDefaultApp] [], про який йдеться у статті, може відключити будь-яку асоціацію. Виявляється, додаток просто використовує хитру / вирішення. Він "відключає" асоціації файлів, створюючи нову асоціацію для фіктивного додатку, а не видаляючи фактичну асоціацію. Це не відрізняється від створення власного додатка "нічого робити" та асоціювання його з файлами .jar.
Деякі з цих статей посилаються на lsregister
утиліту командного рядка (частина способів відновлення асоціацій Launch Services). Виконати це:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
І ви отримаєте велику кількість конфігурацій 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
Що для мене говорить кілька речей:
conforms to: public.zip-archive, public.executable
змушує мене повірити, що я помилявся, коли асоціація Jar Launcher має щось спільне з тим, як Spotlight індексує файли JAR. Я інтерпретую висновок, що означає "файли JAR - це основний тип, який вважається архівами та програмами"Мені дуже незручно спілкуватися з /System/Library/CoreServices/CoreTypes.bundle, але, здається, саме для цього потрібно змінити тип "архіву Java", видаливши "public.executable" з "відповідає на". Я б вклав свої гроші, що саме так використовує Spotlight, коли індексує файли JAR і розглядає їх як вид: додаток.
Як розробник Java, ви знаєте, що не всі файли JAR - це програми. Більш складний індексатор може вивчити маніфест всередині JAR. Але це лише виправить Spotlight. Можливо, це помилка OS X, що Finder розглядає всі файли JAR як програми, що дозволяє командувати ними і намагатися запустити їх через Jar Launcher. Не знаючи більше про Launch Services, це здається обмеженням механізму, орієнтованого на розширення файлів тут. Бампер.
Файли Jar часто надходять із скороченого набору каталогів. У моєму випадку більшість jar файлів було у "/ Applications / Eclipse / plugins". Отже, у розділі Системні налаштування> Прожектор> Конфіденційність я щойно перешкодив Spotlight шукати саме в цьому місці. Зараз це працює як шарм :)
Я думаю, ви повинні відфільтрувати пошук у центрі уваги.
Налаштування системи >> Прожектор, в результаті пошуку, крапка позначення "Застосування". сподіваюся, що це працює.
Я люблю порадити використовувати поле швидкого пошуку Google . це дозволяє шукати дані на комп’ютері та в Інтернеті. Я думаю, що це потужніше, ніж прожектор.