我有一个共同的库项目在几个不同的Android应用程序之间共享,我需要允许开发和生产值可用。使用Ant我希望能够交换一个dev.properties或prod.properties文件的environment.properties文件。加载.properties文件时出现问题
尝试加载“/ com/iis/...”属性文件时,出现NullPointer异常。
任何想法是什么做错了?
**常见的是项目
static {
Properties p = new Properties();
InputStream input = BaseWebApi.class.getClass().getResourceAsStream("/com/iis/common/environment.properties");
try {
p.load(input);
input.close();
} catch (IOException e) {
Log.d(TAG, "Unable to load environment.properties file");
e.printStackTrace();
}
sApiUserName = p.getProperty(KEY_API_USER_NAME);
sApiPassword = p.getProperty(KEY_API_PASSWORD);
sServerAddress = p.getProperty(KEY_SERVER_ADDRESS);
sServerProtocol = p.getProperty(KEY_SERVER_PROTOCOL);
sServerRootPath = p.getProperty(KEY_SERVER_ROOT_PATH);
sServerPort = Integer.parseInt(p.getProperty(KEY_SERVER_PORT));
}
**没有太多的堆栈跟踪
09-09 12:35:43.935: ERROR/AndroidRuntime(853): Caused by: java.lang.NullPointerException
09-09 12:35:43.935: ERROR/AndroidRuntime(853): at java.util.Properties.load(Properties.java:290)
09-09 12:35:43.935: ERROR/AndroidRuntime(853): at com.iis.common.webapis.BaseWebApi.<clinit>(BaseWebApi.java:60)
09-09 12:35:43.935: ERROR/AndroidRuntime(853): ... 8 more
*我曾尝试一切可能的名称组合,我能想到使用看名称空间,文件夹和类名称
// namespaces, folder
"/com/iis/android_common/environment.properties"
"com/iis/android_common/environment.properties"
// namespaces, project name
"/com/iis/common/environment.properties"
"com/iis/common/environment.properties"
// folder
"/android_common/environment.properties"
// project name
"/common/environment.properties"
// direct path
/environment.properties
environment.properties
你可以发布堆栈跟踪吗? – beny23
也许尝试删除第一个/在文件路径“com/iis/common/environment.properties” – othman