jar
我需要使用模拟时间运行某个文件以进行测试。当我以通常的方式执行 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
对于最后一个命令,我使用了以下简单的 shell 脚本。
#!bin/bash
java -jar myjar.jar
上述方法均未执行该 jar。你能指出这里出了什么问题以及我怎样才能让它运行吗?
- jar 和 shell 脚本都是可执行的,并且我有适当的权限。
答案1
现在通过设置环境变量解决了此问题DONT_FAKE_MONOTONIC=1
你可以通过这个链接 https://github.com/wolfcw/libfaketime/issues/109
答案2
假设你尝试libfaketime...
这是来自自述文件:
- 兼容性问题
...
- 众所周知,基于 Java/JVM 的应用程序和其他具有复杂运行时环境的应用程序不能或不可靠地使用 libfaketime。
对于java你可以使用类似的东西https://github.com/arvindsv/faketime