我有一个扩展ServerApplication的应用程序。而不是依赖于ServerApplication使用的预定义位置中的配置文件,我希望强制用户通过命令行标志将路径传递给文件:
myapp -f path/to/my/file --daemon
我的问题是,使用--daemon标志我无法传递相对路径,因为ServerApplication无法看到该文件,我需要传递完整路径:/path/to/my/file
。如果未传递--daemon
标志,则应用程序能够看到该文件。
我知道,一旦应用程序守护进程,它会将其目录更改为/
,但我正在ApplicationServer::initialize
中读取该文件并打印application.dir
的值显示正确的路径。
这是一个错误还是我错过了什么?
答案 0 :(得分:0)
application.dir 与当前工作目录不同。实际上,Util :: ServerApplication changes it explicitly为root,这与默认的守护进程行为一致。