开发者社区> 问答> 正文

bash执行java程序时读取文件问题

写了一个java程序,程序启动时会读取和jar包统计目录的myapp.conf文件
在linux中通过java -jar myapp.jar的方式可以正常启动程序
但是在把命令加入到rc.local后却无法启动,查看日志发现是不能读取到myapp.conf文件
rc.local文件
screenshot
是不是rc.local在执行java程序时会认为脚本所在目录为执行目录?
java读取文件的方法
screenshot
各位帮忙看看应该怎么办?

展开
收起
蛮大人123 2016-02-28 18:04:00 3444 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    rc.local由init进程调度,你没有设置当前目录,那么它在执行的时候,当前目录就是 /,跟当前脚本(rc.local)所在目录没关系,当然没有你需要的myapp.conf文件
    要么你在rc.local里加一句 cd /path/to/jar
    要么在java代码中制定myapp.conf文件的绝对路径

    2019-07-17 18:49:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载