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

时间:2018-07-05 08:45:29

标签: java maven maven-2 maven-plugin maven-profiles

我在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

1 个答案:

答案 0 :(得分:0)

您的directory规范是错误的。请勿使用${basedir},而是使用${project.basedir},它可以正常工作:

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

更好的做法是坚持使用标准的Maven目录布局,并将您的资源放在此处:

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