2013-05-07 4 views
0

Запустив ту же команду из Eclipse, и из командной строки, я получаю 2 разных результатов:Terminal против Затмения PosixFilePermissions

С Eclipse, все работает отлично, однако с помощью командной строки я получаю следующее сообщение об ошибке:

PosixThing.java:17: error: error while writing PosixThing: PosixThing.class (Permission denied) 

Это сообщение об ошибке не появляется, если я запускаю «sudo javac PosixThing.java». Как бы это ни было не странно, тот же код с другим файлом, находящимся в том же каталоге (Desktop), не дает мне никаких проблем. (Я говорю о простых txt-файлах, чтобы проверить функцию PosixFilePermissions).

Я проверил права доступа к файлам, и все это -rw -rw -rw Как и другие. Не знаю, почему это происходит только с этим конкретным файлом. Работает на Ubuntu 11.10 jdk 1.7.

Любое предложение о том, что это может быть?

ответ

1

Это звучит как проблема прав доступа к файлам/файловой системы некоторого вида:

  • Проверка владелец, группа и права доступа к файлу, и все каталоги на пути доступа к файлу.

  • Убедитесь, что вы используете Eclipse и свою командную оболочку как один и тот же эффективный пользователь.

  • Убедитесь, что вы не пытаетесь написать какую-либо «фанковую» файловую систему; например файловая система Windows, установленная на Linux, или файловая система FUSE.

  • Если вы включили SELinux, убедитесь, что это не вызывает проблемы. (Это маловероятно.)

Также возможно, что вы работаете разные версии/версии Java в двух контекстах, или даже то, что кэш файловой системы в Eclipse рассинхронизирован. (Мне непонятно, в каких контекстах код действительно работает.)

Смежные вопросы