我在编写部署在Tomcat上的Grails应用程序时遇到了一个奇怪的问题。
在创建简单的测试控制器之后,我想在com包中编写测试内容。
package com.domain.controller
import java.io.File;
import java.io.PrintWriter;
class TestController {
def index() {
// test
try {
PrintWriter writer = new PrintWriter("/home/user/domains/domain.com/public_html/the-file-name.txt");
writer.println("The first line");
writer.println("The second line");
writer.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
我遇到了一个异常:
类 java.io.FileNotFoundException 信息 /home/user/domains/domain.com/public_html/the-file-name.txt (Brak dostępu)
我已将/home/user/domains/domain.com/public_html/
的chmod设置为777,并且tomcat7.tomcat7
是owner。我还尝试以访问权限777和所有权设置为tomcat7的方式创建此文件,但仍然出现异常:
ls -al /home/user/domains/domain.com/public_html
razem 16
drwxrwxrwx 3 tomcat7 tomcat7 4096 01-08 23:25 .
drwxr-xr-x 8 user user 4096 12-16 17:14 ..
-rwxrwxrwx 1 tomcat7 tomcat7 0 01-08 23:25 the-file-name.txt
我还需要满足操作系统的哪些条件?
如果有人能够澄清这个问题,我将非常感激。
编辑:
我已经在/path1
下创建了目录,并设置为777。文件存储得很好。
我还在/path2/testdir
下创建了目录,但是path2没有777和chown权限。它仍然可以正常工作。我还测试了testdir
目录,包括字符.
和_
,也一切正常。
我非常好奇,无法理解这种行为。
</