Search code examples
javajarjava-6

Loading Properties from a JAR file (java 1.6)


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.


Solution

  • 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!