代码能够很好地加载包中的属性,但现在我试图从项目本身排除这些属性,并且代码抛出了一个nullPointer-exception。
该路径在我的开发计算机上正确解析为
C:\users\someone\devstudio\runtimes\jboss-fuse-6.3.0.redhat-135\etc\bean.properties
public static Properties getProperties(String location) {
Properties prop = new Properties();
InputStream input = null;
try {
input = PropertyLoader.class.getClassLoader().getResourceAsStream(location);
prop.load(input);
} catch (IOException ex) {
log.error("Error loading properties file from: " + location, ex);
return null;
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
log.error(e);
}
}
}
return prop;
}
public static Properties getPropertiesFromFilesystem(String location) {
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream(location);
prop.load(input);
} catch (IOException ex) {
log.error("Error loading properties file from: " + location, ex);
return null;
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
log.error(e);
}
}
}
return prop;
}
java.lang.NullPointerException在java.util.properties$LineReader.ReadLine(properties.java:434)[:1.8.0_91]在java.util.Properties.Load0(properties.java:353)[:1.8.0_91]在java.util.Properties.Load(properties.java:341)[:1.8.0_91]在java.util.Properties.Load(properties.java:341)[:1.8.0_91]在com.mycompany.util.PropertyLoader.getPropertiesg.apache.camel.camel-core:2.17.0.redhat-630135]位于org.apache.camel.processor.pipeline.process(pipeline.java:121)[231:org.apache.camel.camel-core:2.17.0.redhat-630135]位于org.apache.camel.processor.pipeline.process(pipeline.java:83)[231:org.apache.camel.camel.camel-core:2.17.0.redhat-630135]位于
如有任何帮助,我们将不胜感激。
别那样做。你在找麻烦。
property-placeholder
bean)如果某些“静态”代码需要属性,则意味着它是有状态的,并且这个类值得实例化为bean。
我在尝试添加
我需要加载不同服务器上存在的类文件,并在类文件中执行方法。我不想使用超文本传输协议或RMI,但想应用这种方法。我正在看URLClassLoader,但没有得到任何地方。有人能给我一个从不同服务器加载类的例子吗?
问题内容: 我需要读取埋在我的包结构中的属性文件。 我已经尝试了一切,但无法解决。 最后,我的代码将在servlet容器中运行,但是我不想依赖任何容器。我写了JUnit测试用例,它需要在两个方面都能工作。 问题答案: 从包中的类加载属性时,可以使用 (添加所有必要的异常处理)。 如果你的类不在该程序包中,则需要稍微不同地获取InputStream: 相对路径(那些没有前导“/”)中该资源将相对于它
我在蓝图中使用cm:property-placeholder来加载配置文件: 我可以将值设置为bean,例如${abc}。 如何从java访问配置的任何其他属性? 我计划添加属性列表:prop1=11 prop2=22...propn=nn 由于数量不同,我无法在蓝图中添加所有内容。 谢谢你,维克多
问题内容: 我的项目设定 我有以下项目设置: 在我的代码中,我使用相对URL引用图像。 问题 如果我在目录中使用以下命令运行此程序: 然后一切正常,Java能够找到该图像。 现在,我的问题是,我需要能够从其他目录运行该程序。 该程序已执行,但是现在所有相对URL不再起作用。 我需要的 如何计算program.jar文件的执行位置,以便可以将相对URL更改为绝对URL? 问题答案: 如果可能的话,我
问题内容: 我有一个简单的程序,需要显示图像。我知道如何从Eclipse运行代码,也知道如何从JAR文件运行,但是我想要一个在两种情况下都可以使用的解决方案。 Eclipse项目就是这样的: 可在Eclipse中运行的代码段: 适用于JAR的文件(全部在一个JAR文件中): 为了使单个代码在两种情况下都能正常工作,我需要更改什么? 问题答案: 将文件夹放在文件夹中,Eclipse会将图像复制到目标