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

xe55xuns  于 2023-10-17  发布在  Maven
关注(0)|答案(1)|浏览(130)

我下面的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
b1payxdu

b1payxdu1#

您的directory规格是错误的。不要使用${basedir},而是使用${project.basedir},那么它就可以按预期工作:

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

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

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

相关问题