放置属性文件的位置(与maven程序集相关)

时间:2017-04-03 14:52:38

标签: java eclipse maven properties maven-assembly-plugin

当我在eclipse中启动我的应用程序时,在src/main/resources文件夹中有一个属性文件是没有问题的。然后,当我运行maven install时,在maven程序集的帮助下将此属性文件放入config文件夹。所以下面的问题:

在eclipse中工作时,我只需使用以下命令访问属性文件:

File propsFile = new File( "src/main/resources/settings.properties" );

maven install之后我当然无法再访问此文件了。但是哪个工作流程是最好的,在我的日食开发期间和maven install之后到达文件而没有两次?!

maven install之后的装配结构如下所示:

application folder
    |----bin
        |----batch file to start my application
    |----lib
        |----my application jar
        |----other dependencies jars
    |----config
        |----settings.properties

已经提前多多感谢:)

1 个答案:

答案 0 :(得分:0)

如果您是通过脚本文件启动应用程序,我建议您在类路径中包含settings.properties所在的文件夹:

  • 在Eclipse中你根本不需要做任何事情,因为来自src\main\resources 的所有文件实际上都被复制到了target\classes输出目录中,这确实是在类路径的标题处。

  • 在您的脚本文件中,您只需要在执行类路径的开头预先挂起<application>\config文件。

但是,您必须更改从程序中读取资源的方式:使用File API替换ClassLoader.getResourceAsStream

InputStream input=getClass().getClassLoader().getResourceAsStream("settings.properties");
Properties properties=new Properties(input);