簡體   English   中英

無法讀取Maven屬性

[英]Can't read Maven properties

我試着在這個帖子后面使用Maven中的屬性

我創建了一個屬性:

<properties>
    <application.root.url>http://localhost:8080</application.root.url>
</properties>

添加資源和過濾:

<build>
    <resources>
        <resource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

將“test.properties”文件放在src / test / resources目錄中,其中包含以下內容:

application.root.url=${project.application.root.url}

在Java中,我有這個:

public static Properties getProperties(){
    Properties props = new Properties();
    try {
        props.load(new FileInputStream("test.properties"));
    } catch (IOException e){
        props = null;
        e.printStackTrace();
    }
        return props;
}

現在,如果我有new FileInputStream("test.properties") ,我得到“找不到文件”異常,如果我放入new FileInputStream("src/test/resources/test.properties") ,那么它返回${application.root.url}作為屬性application.root.url的值

我究竟做錯了什么?


更新1:好的,現在我已將${project.application.root.url}更改為

${application.root.url}

props.load(new FileInputStream("test.properties"));

props.load(Util.class.getClassLoader().getResourceAsStream("test.properties"));

現在我不再發現“找不到文件”錯誤了。 但我仍然有問題,在target/test-classes/test.properties值沒有從${application.root.url}更改(並且在target/classes/test.properties 它被更改...)


最終更新:

最后,當我將'resources'更改為'testResoruces'時,一切都工作了:

<build>
    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
        </testResource>
    </testResources>
</build>

謝謝大家的建議!

更改

${project.application.root.url}

${application.root.url}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM