在编写部署在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(Brakdostępu)
我已将chmod设置为777 /home/user/domains/domain.com/public_html/。并且tomcat7.tomcat7是所有者。我也尝试过创建访问权限为777且所有权设置为tomcat7的文件,但仍然出现异常:
/home/user/domains/domain.com/public_html/
tomcat7.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
我还应该满足OS中的哪些条件?
如果有人可以澄清这个问题,我将不胜感激。
编辑 :
我已经在目录/path1777 下创建了目录。文件存储得很完美。我还创建了目录下的目录/path2/testdir,但是path2没有权限777和chown。它也可以。我也testdir用字符.和进行了测试_,也可以使用。
/path1
/path2/testdir
testdir
.
_
我的调查非常深入,无法理解其行为。
确保您还具有读取和执行对所有父目录的访问权限。
例: chmod o+x /home/user
chmod o+x /home/user