首页 > 解决方案 > 无法通过 java 访问 Maven 配置文件属性

问题描述

我正在尝试为 junit 5 测试配置 Maven 配置文件。问题是无法读取配置文件属性。这是我设置配置文件的方式

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <profile.id>dev</profile.id>
            <RestAssured.TSIDBaseURI>http://url/dev</RestAssured.TSIDBaseURI>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>

    <profile>
        <id>test</id>
         <properties>
            <profile.id>test</profile.id>
            <RestAssured.TSIDBaseURI>http://url/test</RestAssured.TSIDBaseURI>
        </properties>
    </profile>
</profiles>

然后我配置了buid资源

 <build>

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

然后我像这样在 src/test/resources 目录中创建了config.properties

RestAssured.TSIDBaseURI=${RestAssured.TSIDBaseURI}

最后我做设置方法

@BeforeAll
    @Step(value = "Setup")
    static void setUp() throws IOException {
        Properties loadedProperties = new Properties();
        InputStream resourceAsStream = TSIDBase.class.getClassLoader().getResourceAsStream("config.properties");
        loadedProperties.load(resourceAsStream);
        RestAssured.baseURI = loadedProperties.getProperty("RestAssured.TSIDBaseURI");
        System.out.println("URI = " + RestAssured.baseURI);
    }

不幸的是,我总是得到基本 URI 的RestAssured.baseURI = ${RestAssured.TSIDBaseURI}值,我不明白为什么

标签: javamavenjunit-jupiter

解决方案


我将构建目录从资源更改为 testResources 并且它有效

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

推荐阅读