簡體   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