从同一JVM中的另一个项目加载属性文件

时间:2012-10-05 04:17:51

标签: java

我在同一个JVM中有两个maven项目AB。项目B取决于项目A。在一个项目类A中,我需要加载项目B的属性文件,例如/B/src/main/resource/foo.properties在静态块中,如下所示:

 Class bar{//this class is in project A
    static{
     //do the magic to load the property file in project B
    }
   }

在项目B中访问提到的属性文件的正确途径是什么?

请帮助处理伪造的声明。在此先感谢!!

1 个答案:

答案 0 :(得分:0)

由于您已经指定了maven依赖项,因此来自另一个项目的所有类路径资源都可用于另一个项目。

试试这段代码

public void doSomeOperation() throws IOException {
        // Get the inputStream
        InputStream inputStream = Bar.class.getClassLoader()
                .getResourceAsStream("myApp.properties");

        Properties properties = new Properties();

        System.out.println("InputStream is: " + inputStream);

        // load the inputStream using the Properties
        properties.load(inputStream);
        // get the value of the property
        String propValue = properties.getProperty("abc");

        System.out.println("Property value is: " + propValue);
    }