Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建maven profile&;根据激活的配置文件使用不同的XML套件运行每个配置文件?_Java_Maven_Selenium Webdriver - Fatal编程技术网

Java 如何创建maven profile&;根据激活的配置文件使用不同的XML套件运行每个配置文件?

Java 如何创建maven profile&;根据激活的配置文件使用不同的XML套件运行每个配置文件?,java,maven,selenium-webdriver,Java,Maven,Selenium Webdriver,我不熟悉maven和maven简介。我正在从事一个自动化maven项目,我正在尝试创建不同的配置文件。我想做的是,每个配置文件将根据激活的配置文件运行不同的XMLSuite <profiles> <profile> <id>Jenkins</id> <activation> <activeByDefault>false</activeByDefault&g

我不熟悉maven和maven简介。我正在从事一个自动化maven项目,我正在尝试创建不同的配置文件。我想做的是,每个配置文件将根据激活的配置文件运行不同的XMLSuite

<profiles>
    <profile>
        <id>Jenkins</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.17</version>
                    <configuration>
                        <includes>
                            <include>**/*.java</include>
                        </includes>
                        <suiteXmlFiles>
                            <echo>Jenkins profile</echo>
                            <suiteXmlFiles>xml/jenkins.xml</suiteXmlFiles>
                        </suiteXmlFiles>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

    <profile>
        <id>Ticket</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.17</version>
                    <configuration>
                        <includes>
                            <include>**/*.java</include>
                        </includes>
                        <suiteXmlFiles>
                            <echo>Ticket profile</echo>
                            <suiteXmlFiles>xml/Tickets.xml</suiteXmlFiles>
                        </suiteXmlFiles>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

感谢

那么最干净的实现就是让插件的单个配置运行每个构建,并简单地定义一个属性令牌,该令牌随配置文件的不同而变化

<profiles>
    <profile>
        <id>Jenkins</id>
        <properties>
            <my.echo>Jenkins profile</my.echo>
            <my.xml.files>xml/jenkins.xml</my.xml.files>
        </properties>
    </profile>

    <profile>
        <id>Ticket</id>
        <properties>
            <my.echo>Ticket profile</my.echo>
            <my.xml.files>xml/Tickets.xml</my.xml.files>
        </properties>
    </profile>
</profiles>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.17</version>
            <configuration>
                <includes>
                    <include>**/*.java</include>
                </includes>
                    <suiteXmlFiles>

<!-- DELETE THIS LINE: IS A TYPO
                    <echo>Ticket profile</echo>
-->

<!-- PROFILE-DRIVEN SUBSTITUTION -->
                        <echo>${my.echo}</echo>
                        <suiteXmlFiles>${my.xml.files}</suiteXmlFiles>
                    </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
</build>

詹金斯
詹金斯档案
xml/jenkins.xml
票
票证资料
xml/Tickets.xml
org.apache.maven.plugins
maven surefire插件
2.17
**/*.爪哇
${my.echo}
${my.xml.files}

希望能有所帮助。

请将错误消息复制到原始帖子中,以便正确读取空白。THX pom文件中有一个无关的票证配置文件。看看这是否有区别。这是pom文件中的回音,删除了它,效果很好。谢谢你的帮助!333 Kenshin,例如,当一个概要文件的xmlsuites多于另一个时,您如何处理?唉,maven不允许将列表作为属性传递。您必须返回到原始配置。说到这里,使用回音块看起来有点可疑。如果你把它扔掉呢?此外,内部suiteXmlFile应该是单数的,即suiteXmlFile,不带尾随的's'
<profiles>
    <profile>
        <id>Jenkins</id>
        <properties>
            <my.echo>Jenkins profile</my.echo>
            <my.xml.files>xml/jenkins.xml</my.xml.files>
        </properties>
    </profile>

    <profile>
        <id>Ticket</id>
        <properties>
            <my.echo>Ticket profile</my.echo>
            <my.xml.files>xml/Tickets.xml</my.xml.files>
        </properties>
    </profile>
</profiles>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.17</version>
            <configuration>
                <includes>
                    <include>**/*.java</include>
                </includes>
                    <suiteXmlFiles>

<!-- DELETE THIS LINE: IS A TYPO
                    <echo>Ticket profile</echo>
-->

<!-- PROFILE-DRIVEN SUBSTITUTION -->
                        <echo>${my.echo}</echo>
                        <suiteXmlFiles>${my.xml.files}</suiteXmlFiles>
                    </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
</build>