Блокировка невозможна в каталоге C:\eclipse\configuration\org.eclipse.osgi
Раньше у меня была Eclipse 3.5.2, работающая из моей ограниченной учетной записи пользователя (т.е. не администратора).
Но когда я обновился до 3.6.2, Eclipse отказывается запускаться в учетной записи с ограниченным доступом (она работает только под администратором).
Он выдает следующую ошибку:
Блокировка невозможна в каталоге C:\затмение\Конфигурация\org.eclipse.osgi. Общей причиной является то, что файловая система или среда выполнения не поддерживает блокировку файлов для это место. Выберите другое местоположение или отключите файл. блокировка передачи "-Dosgi.locking = none" в качестве аргумента виртуальной машины. C:\затмение\Конфигурация\org.eclipse.osgi.manager.fileTableLock(Доступ запрещен)
Ну, я проверил владельца этой папки (Windows XP), и это Администратор, поэтому, конечно, доступ будет отклонен.
Но... почему это не произошло в Eclipse 3.5.2?
Возможно, мне удалось обойти это, назначив право собственности на весь C:\eclipse\configuration\org.eclipse.osgi
, но не понимая, почему, я не знаю, нужно ли мне это делать для дополнительных папок.
Другим обходным решением является выполнение так же, как и сообщение об ошибке: Отключить блокировку передачи файлов -Dosgi.locking=none
в качестве аргумента виртуальной машины. Но я не понимаю, что такое компромисс (блокировка существует по какой-то причине, правильно? Что это такое?)
Если я понимаю, какова цель этой блокировки, я могу разумно выбрать один из двух обходных решений, описанных выше.
Ответы
Ответ 1
Это связано с запуском Eclipse в многопользовательской среде, сначала прочитайте эту секцию помощи Eclipse для многопользовательских установок. Когда Eclipse был установлен, это было сделано как учетная запись администратора. Это означало, что папка configuration
была доступна, и Eclipse считал, что это общая конфигурация или частная установка. Из-за этого Eclipse сначала попытается записать данные в каталог конфигурации, но не будет работать для обычных пользователей.
Что вы хотите сделать, так это заставить Eclipse понять, что у вас установлена общая установка, и что все данные конфигурации должны находиться в домашнем каталоге пользователей.
См. этот аналогичный вопрос и этот ответ поддержки IBM для получения дополнительной информации.
Ответ 2
У меня была такая же проблема с версией Juno.
Несколько лет назад я создал многопользовательскую среду, которая отлично работала, но со временем все изменилось. Теперь, мое очевидное решение, чтобы изменить разрешения, не работало вообще.
Проблема в том, что файлы блокировки имеют специальные разрешения, которые 777
не изменятся. Кроме того, это не лучшее решение для предоставления 777
каталогу внутри любой UNIX-системы (Linux, AIX и т.д.); затем я работал с другим решением.
Внутри каталога Eclipse вы можете найти файл eclipse.ini
. Там вы можете поместить аргументы vm, хотя предложенная Eclipse не будет работать.
Моя среда начала работать с этим:
[email protected]/.eclipse
Таким образом, каждый пользователь внутри среды, запускающей программу Eclipse, создаст другой каталог .eclipse
внутри конкретного дома с полными правами и нулевыми проблемами.
Я ожидаю, что это будет полезно для всех "на стороне UNIX".
Ответ 3
Правильное исправление
Убедитесь, что вы обновляете разрешения Eclipse и рабочей области независимо от того, как работает Eclipse. Вы можете использовать ps -ef | grep -i eclipse
, пока eclipse работает, чтобы найти этого пользователя.
Как только у вас есть пользователь, вы можете легко использовать chown -R user:group ~/Documents/workspace**
Hacky fix
-
Измените разрешение самого eclipse везде, где вы его установили (в моем случае /opt/ ):
sudo chmod -R 770/opt/eclipse
-
Измените разрешение рабочей области, где бы вы ни находились (в моем случае ~/Documents/):
sudo chmod -R 770 ~/Документы/рабочее пространство
Надеюсь, это поможет моим знакомым пользователям Linux!
Вы можете попробовать это на окнах с правильным синтаксисом.
Спасибо Фредерику за вашу помощь!
Ответ 4
Я бы не стал chmod
до 777, чтобы исправить эту проблему. В моем случае владелец был root:root
после того, как Rational Team Concert установил для некоторых файлов RTC, а не мой идентификатор пользователя. Перейдите в домашний каталог вашего пользователя и ls -ltr
, чтобы узнать, что ваш идентификатор пользователя и groupid (на мойке Ubuntu были одинаковыми), а затем выполните следующее в подкаталоге eclipse
sudo chown -R myuserid:groupid /opt/ibm/eclipse
Ответ 5
У меня возникла эта проблема при попытке создать рабочее пространство в подключенном сетевом диске.
Один из вариантов - запустить Eclipse с терминала с помощью ./eclipse -vmargs -Dosgi.locking=none
.
Другой вариант - добавить osgi.locking=none
в файл config.ini в папке конфигурации Eclilpse.
Второй вариант более удобен, но имеет побочный эффект, позволяющий любому числу экземпляров Eclipse работать в одном и том же рабочем пространстве.
Ответ 6
Я просто добавил osgi.locking = none в файл config.ini, он начал работать. Спасибо всем за вашу помощь.
Ответ 7
Кто имеет доступ на запись в каталог: C:\eclipse и C:\eclipse\configuration?
AFAIK eclipse при запуске решает, использовать ли центральную установку в качестве местоположения конфигурации или каталог, доступный для пользователя, в зависимости от того, можно ли перезаписывать каталог eclipse (или, возможно, конфигурацию).
Ответ 8
просто скопируйте и вставьте свою папку eclipse в папку в вашем текущем пользовательском пространстве (если вам трудно найти одну из правильных папок, просто поместите ее в C:\Documents and Settings\your_user_account_name). создайте только новую папку рабочей области.
Работал для меня....!
Ответ 9
Вот еще одна причина появления этого сообщения. Может показаться очевидной проверкой, но если флаг "только для чтения" установлен в файле .fileTableLock
(это в Windows, не знаю о Linux), вы также получите эту ошибку Access Denied. Это возникло из-за того, что мы разархивировали предварительно сконфигурированное рабочее пространство и конфигурацию в средах IDE наших пользователей.
Ответ 10
У меня была аналогичная проблема, запущенная на сервере с идентификатором администратора.
Понижение UAC и перезагрузка сервера исправили его.
Ответ 11
В Windows это сообщение об ошибке появилось для меня, потому что я снова включил UAC после 2 лет его отключения. Я просто удалил. Заблокировать файл затмения жаловался.. и нажал Продолжить, когда появилось всплывающее окно UAC.. и затем снова открыло затмение.. все было хорошо.
Ответ 12
Ну, на окнах простая работа для этого - запуск Eclipse в качестве администратора.
Щелкните правой кнопкой мыши значок Eclipse и выберите "Запуск от имени администратора".
Это решит вашу проблему.
Наслаждайтесь:)