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