来自 Maven 配置文件属性的值未在 .properties 文件中使用

Value from Maven profile properties is not getting used in .properties file

我在下面 pom.xml 文件

<resources>
            <resource>
                <directory>${basedir}</directory>
                <includes>
                    <include>*.properties</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>

<profiles>
        <profile>
            <id>android</id>
            <properties>
                <automationName>uiautomator2</automationName>
                <platformName>Android</platformName>
                <platformVersion>6.0</platformVersion>
                <deviceName>Android Emulator</deviceName>
                <app>/Users/name/Documents/serenity-core/serenity-appium/src/test/java/integration/resources/WordPress-debug.apk</app>
                <appPackage>org.wordpress.android</appPackage>
                <appActivity>org.wordpress.android.ui.accounts.LoginActivity</appActivity>
            </properties>
        </profile>

        <profile>
            <id>ios</id>
            <properties>
                <automationName>XCUITest</automationName>
                <platformName>IOS</platformName>
                <platformVersion>11.4</platformVersion>
                <deviceName>iPhone SE</deviceName>
                <app>/Users/name/Documents/serenity-core/serenity-appium/src/test/java/integration/resources/WordPress.app</app>
            </properties>
        </profile>
    </profiles>

我有 serenity.properties 文件如下

appium.automationName = ${automationName}
appium.platformName = ${platformName}
appium.platformVersion = ${platformVersion}
appium.deviceName  = ${deviceName}
appium.app = ${app}

当我尝试使用来自 pom.xml 的值时,它无法按预期工作。 Serenity.properties 文件没有在特定配置文件名称下提到的获取值。

mvn install -Pandroid

您的 directory 说明有误。不要使用 ${basedir},而是使用 ${project.basedir},然后它会按预期工作:

<directory>${project.basedir}</directory>

更好的方法是坚持使用标准的 Maven 目录布局并将您的资源放在这里:

<directory>src/main/resources</directory>