jar
테스트를 위해 시뮬레이션된 시간을 사용하여 특정 파일을 실행해야 합니다. 일반적인 방법으로 항아리를 실행할 때
$ java -jar myjar.jar
완벽하게 작동합니다. 그러나 이를 실행하려고 하면 faketime
jar를 실행하지 않고 중지되거나 커서가 깜박이면서 멈추고 실행된 jar의 적절한 로그나 터미널 출력을 얻지 못합니다. 나는 다음 명령을 시도했습니다faketime
$ faketime '2015-10-10 17:28:00' /bin/java 'java -jar myjar.jar'
$ faketime '2015-10-10 17:28:00' /bin/java 'java -jar /full/path/to/myjar.jar'
$ faketime '2015-10-10 17:28:00' /bin/bash start.sh
마지막 명령에는 다음과 같은 간단한 쉘 스크립트를 사용했습니다.
#!bin/bash
java -jar myjar.jar
위의 방법 중 어느 것도 jar를 실행하지 않았습니다. 여기서 무엇이 잘못되었는지, 어떻게 작동하게 할 수 있는지 지적해 주실 수 있나요?
- jar과 쉘 스크립트 모두 실행 가능하며 적절한 권한이 있습니다.
답변1
이제 이 문제는 환경 변수를 설정하여 해결되었습니다.DONT_FAKE_MONOTONIC=1
이 링크를 통해서 들어가시면 됩니다 https://github.com/wolfcw/libfaketime/issues/109
답변2
당신이 시도한다고 가정libfaketime...
그리고 이것은 읽어보기에 있는 내용입니다:
- 호환성 문제
...
- Java/JVM 기반 애플리케이션과 복잡한 런타임 환경을 갖춘 기타 애플리케이션은 libfaketime을 안정적으로 사용할 수 없거나 사용하지 않는 것으로 알려져 있습니다.
Java의 경우 다음과 같은 것을 사용할 수 있습니다https://github.com/arvindsv/faketime