0
我必須通過shell腳本(mainUTL.sh)執行java實用程序(UTL.jar)。它使用一個屬性文件(SetupUTL.properties)。Java實用程序無法找到並讀取其屬性文件
文件的位置如下 - /a/b/mainUTL.sh /a/b/UTL.jar /a/b/SetupUTL.properties
我有設置我的CLASSPATH在mainUTL.sh以下 -
export CLASSPATH=$CLASSPATH:/a/b/SetupUTL.properties:/a/b/UTL.jar
我執行從命令提示的腳本(登錄殼是csh)如下 -
sh mainUTL.sh <$ARG1> &
和mainUTL.sh具有以下Java執行命令腳本 -
nohup $JAVA_HOME/bin/java -d64 UTL.jar <$ARG1>
現在,當我從位置/一個執行所述外殼腳本/ B /如下
/a/b$: sh mainUTL.sh <$ARG1> &
該實用程序正在執行細。 但是,當我從其他任何位置執行shell腳本說/ A /如下
/a$: sh mainUTL.sh <$ARG1> &
該實用程序無法找到它的屬性文件。該實用程序有以下一段代碼 -
private boolean initPropertiesAndLog()
{
String str1 = null;
String str2 = null;
InputStream localInputStream = ClassLoader.getSystemResourceAsStream("SetupUTL.properties");
if (localInputStream == null) {
System.out.println("Unable to read SetupUTL.properties.properties file.");
return false;
}
我不都知道Java的代碼,所以請告訴我,我做錯了什麼,以不能夠執行程序的罰款。