gpt4 book ai didi

ubuntu - 如何将 Play 的 "current directory"设置为应用的 homedir?

转载 作者:行者123 更新时间:2023-12-04 18:42:09 27 4
gpt4 key购买 nike

我正在尝试使用这个 Ubuntu Upstart script将 Play 设置为作为服务运行,并且在使用 log4j 时遇到问题。该脚本本质上是:

start-stop-daemon --start --exec /home/ubuntu/programs/play/current/play 
--chuid ubuntu:ubuntu -- start /home/ubuntu/myapp/src/ --%id

Play 启动正常,但随后无法创建 log4j 文件。我相信 start-stop-daemon没有正确设置 log4j 的文件夹。 Log4j 配置为在相对路径 logs/play.log 创建日志文件,转换为 /home/ubuntu/myapp/logs/play.log .文件夹 /home/ubuntu/myapp/logs/确实存在,但 Play 开始时出现此错误:

log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: logs/play.log (No such file or directory) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.(FileOutputStream.java:212) at java.io.FileOutputStream.(FileOutputStream.java:136) at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)



这意味着 Play 的“当前目录”不是 play home 目录,而是其他目录。现在,我可以通过提供绝对 log4j 路径来更改它,但这似乎是一种 hack,我想知道其他依赖于 Play current 文件夹的组件是否会出现类似的问题。

那么,如何确保 Play 的当前目录与应用程序的 homedir 相同?

最佳答案

解决方案是添加 --chdir $HOMEstart-stop-daemon线。坦率地说,这很微不足道。

关于ubuntu - 如何将 Play 的 "current directory"设置为应用的 homedir?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9689756/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com