写了一个java程序,程序启动时会读取和jar包统计目录的myapp.conf文件
在linux中通过java -jar myapp.jar的方式可以正常启动程序
但是在把命令加入到rc.local后却无法启动,查看日志发现是不能读取到myapp.conf文件
rc.local文件
#!/bin/sh
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
export JAVA_HOME=/usr/java/jdk1.7.0_71
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
java -jar /opt/agent/myapp.jar > /opt/agent/myapp.out 2>&1 &
是不是rc.local在执行java程序时会认为脚本所在目录为执行目录?
java读取文件的方法
public static String GetFile(String fileName){
String strContent = "";
try {
String strEncoder = GetEncoder(fileName);
BufferedReader biFile = new BufferedReader(new InputStreamReader(new FileInputStream(fileName),strEncoder));
String strSingleLine;
while ((strSingleLine = biFile.readLine()) != null) {
strContent += strSingleLine;
strContent += "\n";
}
biFile.close();
}
catch (Exception e){
System.out.println(e.getLocalizedMessage());
}
finally {
return strContent;
}
}
各位帮忙看看应该怎么办?