当前位置:  开发笔记 > 编程语言 > 正文

如何从maven java项目加载外部属性文件

如何解决《如何从mavenjava项目加载外部属性文件》经验,为你挑选了1个好方法。

我有一个maven java项目,在src/main/resources目录中有一个属性文件.我已经在jar中打包了没有属性文件的jar,因此它可以部署到具有不同设置的不同环境,但是单元测试失败了

项目结构是

Properties Application Project
|-- pom.xml
`-- src
    |-- main
        |-- java
        |   `-- java classes
        |-- resources
        |   `-- myProps.properties
`-- target
    |--properties-app.jar
       myProps.properties

值将加载到此文件中

public class MyProperties {

    private Properties myProperties;

    public MyProperties() {

        File file = new File("./myProps.properties");
        try {

            myProperties = new Properties();
            FileInputStream myPropertiesInputStream = new FileInputStream(file);
            myProperties.load(myPropertiesInputStream);

        } catch (IOException e) {

            e.printStackTrace();

        }        

    }

    public Properties getPropertyValue() {
        return myProperties.getProperty("value");
    }

}

单元测试如下

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;

public class MyPropertiesTest {

    private MyProperties myProperties;

    @Before
    public void setup() {

        myProperties = new MyProperties();

    }

    @Test
    public void testMyProperties() {

        assertNotNull(myProperties.getPropertyValue());

    }

}    

我应该使用什么来从目标目录加载属性文件,以便我可以从命令行成功构建它?



1> Shettyh..:

我希望你使用的是maven jar插件.如果是这样,请在jar-plugin中使用此配置

    
      
        
          .
        
      
    

然后jar将从jar文件的根目录中获取属性文件.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有