0

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

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

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

如果我运行“ sudo javac PosixThing.java”,则不会出现此错误消息。好像还不够奇怪,但在同一目录(桌面)中具有不同文件的相同代码不会给我任何问题。(我说的只是 txt 文件,只是为了测试 PosixFilePermissions 函数)。

我检查了文件权限,一切都是 -rw -rw -rw 以及其他的。不知道为什么它只发生在那个特定的文件上。在 Ubuntu 11.10 jdk 1.7 上运行。

有什么建议吗?

4

1 回答 1

1

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

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

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

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

  • 如果您启用了 SELinux,请检查这不是导致问题的原因。(这不太可能。)

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

于 2013-05-07T09:20:56.217 回答