2012-07-05 3 views
2

cloudfoundry에 배치 된 스프링 웹 응용 프로그램에서 Btrace 스크립트를 호출하려고합니다.cloudfoundry에 배포 된 스프링 웹 응용 프로그램에서 쉘 스크립트를 실행하십시오.

실행 명령 (532)은/var/VCAP/데이터//var/vcap/data/dea/apps/petclinic-0-fef4b0e052097a0cd2bedb8018c28dcd/tomcat/webapps/ROOT/WEB-INF/classes/bin/btrace.sh 인 마약 단속반은/응용 프로그램/내 PetClinic-0-fef4b0e052097a0cd2bedb8018c28dcd/바람둥이/웹 어플리케이션/ROOT/WEB-INF/클래스/빈/

DatabaseQueries.java

그러나 나는이 오류를 얻을 :

때 java.io.IOException : 프로그램을 실행할 수 없습니다를 "/var/vcap/data/dea/apps/petclinic-0-fef4b0e052097a0cd2bedb8018c28dcd/tomcat/webapps/ROOT/WEB-INF/classes/bin/btrace.sh": java.io.IOException : 오류 = 13, 사용 권한이 거부되었습니다.

I 전체 권한을 가진 앱을 스크립트에 푸시하지만 오류는 계속 발생합니다. 우리가 파일에 대한 cloudfoundry

답변

3

권한에 봄 웹 응용 프로그램에서 쉘/박쥐 스크립트를 실행할 수있는 방법

는 파일 소유자가 읽기/쓰기 클라우드 파운드리로 밀었다. 실행하기 전에 앱에서 스크립트를 실행 가능하게 설정해야합니다.

String btracePath = System.getenv().get("HOME") + "/tomcat/webapps/ROOT/WEB-INF/classes/bin/btrace.sh"; 
String cmd = "chmod +x " + btracePath; 
Runtime run = Runtime.getRuntime(); 
Process pr = run.exec(cmd); 
try { 
    pr.waitFor(); 
} catch (InterruptedException ex) { 
    ex.printStackTrace(); 
} 
관련 문제