Java 终端与Eclipse PosixFilePermissions

Java 终端与Eclipse PosixFilePermissions,java,filesystems,posix,Java,Filesystems,Posix,通过从Eclipse和命令行运行相同的命令,我得到了两个不同的结果: 使用Eclipse时,一切正常,但使用命令行时,我会收到以下错误消息: PosixThing.java:17: error: error while writing PosixThing: PosixThing.class (Permission denied) 如果运行“sudojavac posixshing.java”,则不会出现此错误消息。 如果还不够奇怪的话,相同的代码和位于同一目录(桌面)中的不同文件不会给我带来

通过从Eclipse和命令行运行相同的命令,我得到了两个不同的结果:

使用Eclipse时,一切正常,但使用命令行时,我会收到以下错误消息:

PosixThing.java:17: error: error while writing PosixThing: PosixThing.class (Permission denied)
如果运行“sudojavac posixshing.java”,则不会出现此错误消息。 如果还不够奇怪的话,相同的代码和位于同一目录(桌面)中的不同文件不会给我带来任何问题。(我说的仅仅是txt文件,只是为了测试PosixFilePermissions函数)

我检查了文件权限,所有内容都是-rw-rw-rw以及其他内容。不知道为什么它只发生在特定的文件中。 在Ubuntu11.10JDK1.7上运行


有什么建议吗?

听起来像是某种文件/文件系统权限问题:

  • 检查文件的所有者、组和权限,以及文件路径名上的所有目录

  • 检查您是否以相同的有效用户身份运行Eclipse和命令shell

  • 检查您是否没有试图写入某种“时髦”的文件系统;e、 安装在Linux上的Windows文件系统,或某种FUSE文件系统

  • 如果已启用SELinux,请检查这不是问题的根源。(这不太可能。)

您也可能在这两种上下文中运行不同版本的Java,甚至Eclipse的文件系统缓存不同步。(我不清楚代码实际运行在什么上下文中。)