2014-05-04 24 views
0

我正在使用Java Servlets創建Web應用程序。我用JDK7,Tomcat7。我完全工作,直到我在Windows中託管本地站點。但是當我遷移到時,CentOS目錄沒有創建。無法在使用Java的CentOS中創建目錄

File outputFile = new File("/Data/"); 
try{ 
if(!outputFile.exists()){ 
    if(!outputFile.mkdir()){ 
     throw new UnableToCreateFolderException(); 
    }else{ 
     outputFile = new File("/Data/" + user); 
     if(!outputFile.mkdir()){ 
      throw new UnableToCreateFolderException(); 
     } 
    } 
}else{ 
    outputFile = new File("/Data/" + user); 
    if(!outputFile.exists()){ 
     if(!outputFile.mkdir()){ 
      throw new UnableToCreateFolderException(); 
     } 
    } 
} 

這是我在Windows中使用的代碼。我試圖創建「/ Data」目錄並給予用戶完全訪問權限,然後嘗試運行它。

+1

您正試圖在根文件夾中創建一個目錄。運行Tomcat的用戶是什麼?如果該用戶沒有創建該目錄的權限,那麼您的代碼也無法創建該目錄。 – prabugp

回答

-1

只需執行該命令,然後再試一次,

chmod 755 /Data 
chmod 777 /Data/* 
+0

[Do not chmod 777](http://meta.stackoverflow.com/q/318885/476716) – OrangeDog

0

這條道路(/Data)是在根目錄中,您正在運行Tomcat作爲當然的用戶不應該有寫權限。在程序中硬編碼這樣的路徑總是糟糕的設計;相反,你應該閱讀一個屬性(如myapp.homedir)並使用它。