如何在这个pom.xml中设置属性?

时间:2015-05-21 02:08:49

标签: maven maven-3

这是我项目中pom.xml的摘录。

<properties>
        <Port>2020</Port>   
        <threads>20</threads>
        <test.suite />
        <test.suite.path />
        <useTag />
        <useTestCase />
        <args>-Dthreads=${threads} -Dtest.suite.path=${test.suite.path} -Dappenv=${test.app.env} -Dtest.suite=${test.suite} -DuseTag=${useTag} -DuseTestCase=${useTestCase}</args>
    </properties>

当maven构建时,我想知道如何设置变量test.suitetest.suite.pathuseTestCase?我在pom的任何地方都没有看到它。但Jenkins构建工作正常,它已替换这些占位符的值。

使用这种属性设置的用途是什么。 <variable/>而不是<variable>...</variable>

1 个答案:

答案 0 :(得分:1)

要准确说明如何设置这些属性,我们需要查看整个pom结构,包括父pom以及Jenkins作业配置。

但是,我知道可以设置这些属性的两种方法:

  1. 通过您父亲之一的个人资料

  2. 调用maven时通过系统属性

  3. 我的猜测是,您的父母之一设置了这些属性的个人资料。像这样:

    <profile>
          <id>jenkins</id>
          <properties>
               <test.suite>...</test.suite>
               ...
          </properties>
    </profile>
    

    此配置文件已在Jenkins服务器上激活。查看here以获取有关如何激活配置文件的信息。

    另一个选项是,当从Jenkins调用maven时,这些属性被指定为系统属性。

    至于为<variable/>使用<variable></variable>的原因,这是一个品味问题。 <variable/>与XML中的<variable></variable>意思相同。