繁体   English   中英

如何在 pom.xml 文件中声明用户定义的属性

[英]How to declare user defined properties in pom.xml file

我正在使用 maven 项目进行 UI 自动化,我需要在多个环境和多个浏览器中运行一些测试。 我创建了添加 pom.xml 文件并在其中声明了属性。 但是当我通过终端执行它时,我得到了错误。 我使用的命令-

mvn clean

mvn test -Denvironment=test -Dbrowser=chrome

我的 Xml 文件-

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>ui-automation-projects</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <property>
            <environment>${environment}</environment>
        </property>
        <property>
            <browser>${browser}</browser>>
        </property>
    </properties>


    <dependencies> </dependencies>
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M4</version>
            </plugin>
        </plugins>
    </build>

错误 - [INFO] 正在扫描项目... [错误] [错误] 处理 POM 时遇到一些问题:[致命] 不可解析的 POM D:\work\Cucumber_Projects\ui-automation-projects\pom.xml: TEXT 后面必须紧跟 END_TAG 而不是 START_TAG(位置:已看到 START_TAG...\n...@13:26)@ 第 13 行第 26 列

pom.xml 中的项目属性声明如下:

<properties>
    <environment>default-environemnt-value</environment>
    <browser>default-browser-value</browser>>
</properties>

您可以在POM 参考中阅读更多内容

您必须删除<property>并在<properties>下添加您的属性。

<properties>
     <environment>${environment}</environment>
     <browser>${browser}</browser>

 </properties>

此外,在</browser>之后还有一个额外的 '>'

您在 parson pom.xml 文件中出现错误我将其签入我的想法并更正。 您没有</project>标记,而<dependencies> </dependencies>是多余的。 也应该有答案

<properties>
    <environment>${envValue}</environment>
    <browser>${browserValue}</browser>
</properties>

在此之后,文件将正确构建。

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>ui-automation-projects</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
      <environment>${envValue}</environment>
      <browser>${browserValue}</browser>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M4</version>
            </plugin>
        </plugins>
    </build>
</project>

我已经看到了你 r POM 的几个关系,并看到了我的本地 pom 我如何定义我的依赖项和 POM 我发现了两件事

  1. 您已经定义了可以直接添加值的属性(在您的情况下是环境和浏览器),否则在属性 ${environment} 中单独定义如下
  2. 我还没有看到 POM 中项目的结束。 尝试添加它,那应该可以工作。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM