Loading Properties from a JAR file (java 1.6&#

2020-03-31 06:23发布

问题:

I manually inject a properties file inside a jar. How to load properties from a jar file before java 1.7 ? I tried many workarounds and nothing worked so far.

There's plenty questions about it, but everything is focused on ClassLoader methods from java 1.7.

回答1:

When you have a properties file inside your classpath or inside your jar file it becomes a resource. Any other case is a simple file.

What you need to do, before you package your jar file, is add to your classpath the folder where the properties files are (i.e myproject/src/main/resources/) then wherever you do a

Properties properties = new Properties(); 
properties.load(MyClass.class.getResourceAsStream("/yourPropsFileName"));

it will load it!

Although, if you are using an external property file you can also load it by using:

Properties properties = new Properties();
properties.load(new FileInputStream("extenalPropsFileLocation"));

Hope it helps!



回答2:

From some class, call:

getClass().getResourceAsStream("/path/to/props.props")

Make sure that the path matches up with a classpath location.



标签: java jar java-6