2017-11-14 3 views
0

jsch channelexec을 사용하여 .sh 파일을 호출하고 있습니다. 의 .sh 파일의 내용은 내 로그 파일에서 jar 파일과 같은 위치에 로그 파일을 생성하는 방법

#!/bin/bash 

java -jar /xxx/yyy.war 

, 나는

./logs/xxx.log

로 경로를 언급이다

나는 AP에서 실행

intellij, 로그 파일이 프로젝트와 같은 폴더에 있음을 알 수있었습니다. java -jar/xxx/yyy/war를 사용하여 터미널에서 응용 프로그램을 실행할 때 로그 파일은 jar 파일과 같은 위치에 있습니다.

하지만 Java에서 jsch를 사용하여 .sh 파일을 호출하려고하면 응용 프로그램이 실행되기 시작하지만 로그 파일이 어디에도 나타나지 않습니다. 생성 여부 또는 생성 위치를 모릅니다. .sh 파일을 .sh 파일과 동일한 위치에 표시하는 방법 .sh 파일을 실행하려면 java에서 jsch, springboot, gradle?

우분투, log4j2, intellij, java 및 jsch를 사용하고 있습니다.

답변

0

로그 파일은 아마도 사용자의 홈 디렉토리에 있습니다. 신선한 jsck을 실행하고 pwd을 입력하십시오. 그럴 수도 있습니다.

실제로 로그 파일을 사용하면 경로를 완전히 지정해야합니다. 고정 된 위치 (예 : /opt/app/logs/xxx.log 또는 고정 위치의 심볼릭 링크를 통해 또는 을 알고있는 시스템 환경 변수를 통해이 항상 설정 될 것입니다. $LOGS_HOME/xxx.log

./에 의존하는 것은 실행 컨텍스트에 완전히 의존하기 때문에 실제로 바람직하지 않습니다.

관련 문제