Java jar 실행 파일에서 텍스트 파일에 쓰고 있습니다. jar 파일은 올바른 파일을 생성하지만 파일의 권한은 root로 설정되어 있으므로 다른 Javascript에서는 파일을 읽을 수 없습니다. 아약스를 통해 파일을 읽으려고 할 때 "Permission Denied"를 반환합니다. Java로 파일을 만들 때 어떻게 문제를 해결할 수 있습니까? 현재 Java 1.6을 실행 중입니다.Linux에서 java jar 파일로 파일 쓰기
이클립스에서 응용 프로그램을 실행할 때이 문제가 발생하지 않았습니다. 항아리에 이식 한 후 루트 액세스 권한이 변경되었습니다.
은 내가
exec('java -jar writeToFile.jar');
파일에 쓰기 만 파일에 쓰기
public void writeContents(String fp,String contents){
try{
BufferedWriter write = new BufferedWriter(new FileWriter(fp));
write.write(contents);
write.close();
}catch(Exception e){
System.out.println("Failed to write to file " + fp + " error: " + e.toString());
e.printStackTrace();
}
}
, 그것은 좋은 파일을 올바른 디렉토리를 생성하고 원하는 데이터와 함께 작동 표준
항아리를 실행하고 이클립스에서 실행하고 항아리를 통해 실행 사이의 차이는 파일 권한입니다. jar 파일을 루트로 설정합니다.
블라인드 추측은 WebServer가이 파일에 액세스 할 수있는 권한이 없다는 것을 의미합니다. 또는 닫지 않은 Java 코드가 보유한 파일에 대한 잠금이 있음을 나타냅니다. 몇 가지 코드를 보여 주거나 더 나은 방법으로 [SSCE] (http://sscce.org/)를 만드십시오. – npe
당신은 어떤 사용자로 항아리를 사용하고 있습니까? 웹 서버를 실행하는 사용자와 동일한 사용자입니까? – dstarh
예 웹 사용자가 실행중인 사용자가 –