如何阅读Maven项目中的属性文件?

时间:2018-05-09 15:44:32

标签: maven properties resources

我已阅读有关此主题的所有相关条目,但没有任何效果。

我已将数据库属性文件放在resources / property / db.properties下,将以下内容添加到Maven:

    <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>1.0.0</version>
            <executions>
                <execution>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>write-project-properties</goal>
                    </goals>
                    <configuration>
                        <outputFile>${project.build.outputDirectory}/property/db.properties</outputFile>
                    </configuration>
                </execution>
            </executions>
        </plugin>

并使用以下代码获取流:

this.getClass().getClassLoader().getResourceAsStream("db.properties");

但是当Properties对象加载它时,奇怪的是它只包含pom.xml中定义的一个属性(这是一个编码属性)!

我也尝试了以下内容但无济于事:

this.getClass().getClassLoader().getResourceAsStream("property/db.properties");

当项目构建和部署(Tomcat)时,我可以看到该文件位于目标的class / property / db.properties(或后者,在class / db.properties中)。我在这里缺少什么吗?

更新

正如下面的评论中所建议的,使用&#34; /&#34;将路径作为前缀添加到属性文件中。

如果要使用properties-maven-plugin进行此操作,请确保在POM.xml的Properties部分中指明属性值。然后,此插件会抓取这些值,并将它们放在outputFile标记所指示的属性文件中。

0 个答案:

没有答案