Classpath Java实用程序无法找到并读取其属性文件
我必须通过一个shell脚本(mainUTL.sh)执行一个java实用程序(UTL.jar)。它使用一个属性文件(SetupUTL.properties) 文件的位置如下所示- /a/b/mainUTL.sh /a/b/UTL.jar /a/b/SETUPTL.properties 我在mainUTL.sh中设置了我的类路径,如下所示-Classpath Java实用程序无法找到并读取其属性文件,classpath,classloader,properties-file,Classpath,Classloader,Properties File,我必须通过一个shell脚本(mainUTL.sh)执行一个java实用程序(UTL.jar)。它使用一个属性文件(SetupUTL.properties) 文件的位置如下所示- /a/b/mainUTL.sh /a/b/UTL.jar /a/b/SETUPTL.properties 我在mainUTL.sh中设置了我的类路径,如下所示- export CLASSPATH=$CLASSPATH:/a/b/SetupUTL.properties:/a/b/UTL.jar 我正在命令提示符下执行脚
export CLASSPATH=$CLASSPATH:/a/b/SetupUTL.properties:/a/b/UTL.jar
我正在命令提示符下执行脚本(登录shell为csh),如下所示-
sh mainUTL.sh <$ARG1> &
我根本不知道Java代码,所以请告诉我我做错了什么,无法很好地执行该实用程序。您不应该使用
ClassLoader.getSystemResourceAsStream
试试这个
this.getClass().getClassLoader().getResourceAsStream("your_prop_file")
如果失败,请尝试添加“/”:
/a/b$: sh mainUTL.sh <$ARG1> &
/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;
}
this.getClass().getClassLoader().getResourceAsStream("your_prop_file")
this.getClass().getClassLoader().getResourceAsStream("/your_prop_file")