所以我最近刚切换到Ubuntu来托管我的Java程序。当我运行我的
应用程序找不到我所有的配置文件(没有这样的文件或目录)。

现在,我从来没有遇到过Windows的问题,并且通过Eclipse运行它时,我能够在桌面ubuntu上修复它。

但是,当我使用sh脚本执行我的应用程序时,仍然会抛出异常。我确实知道所有文件都在服务器上,因此,我决定在使用台式机和服务器时都打印出工作区的绝对路径。

Desktop:path sent=data/cache/
local=/home/adam/Dropbox/Arios/Source
Attempted file=/home/adam/Dropbox/Arios/Source/data/cache/main_file_cache.idx255


这是我当前的SH脚本:

java -server -Xms512m -Xmx1536m -XX:NewSize=32m -XX:MaxPermSize=128m -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent -XX:+AggressiveOpts -cp /arios/bin org.arios.Main Arios false true false false true

Ubuntu Server: path sent=data/cache/
local=/root
Attempted file=/root/data/cache/main_file_cache.idx255


这里的问题是我的文件位于root / arios而不是root /。如果您能告诉我如何在linux上解决此问题,我将不胜感激。

最佳答案

我猜您正在使用cron执行脚本。

如果是这样,该脚本将由root用户执行,这将给您带来麻烦。

您应该删除该cron作业并使用以下命令创建一个:

crontab -u Arios -e


它将创建一个cron作业,但将作为Arios执行。

09-28 02:21