pom.xml 中的属性是如何设置的?
how is the properties set in this pom.xml?
这是我项目中 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.suite
、test.suite.path
、useTestCase
是如何设置的?我在 pom
的任何地方都没有看到它。但是 Jenkins
构建工作正常,它已经替换了这些占位符的值。
使用这种属性设置有什么用。 <variable/>
而不是 <variable>...</variable>
?
为了准确说明这些属性在您的案例中是如何设置的,我们需要查看整个 pom 结构,包括 parent pom(s) 以及您的 Jenkins 作业配置。
不过,我知道有两种方法可以设置这些属性:
通过您的 parent 个人资料
调用maven时通过系统属性
我的猜测是,您的 parent 之一中有一个配置文件可以设置这些属性。像这样:
<profile>
<id>jenkins</id>
<properties>
<test.suite>...</test.suite>
...
</properties>
</profile>
并且此配置文件已在您的 Jenkins 服务器上激活。查看 here 了解如何激活配置文件的信息。
另一种选择是,当从 Jenkins 调用 maven 时,这些属性被指定为系统属性。
至于为什么用 <variable/>
而不是 <variable></variable>
是个人喜好问题。 <variable/>
与 XML 中的 <variable></variable>
意思相同。
这是我项目中 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.suite
、test.suite.path
、useTestCase
是如何设置的?我在 pom
的任何地方都没有看到它。但是 Jenkins
构建工作正常,它已经替换了这些占位符的值。
使用这种属性设置有什么用。 <variable/>
而不是 <variable>...</variable>
?
为了准确说明这些属性在您的案例中是如何设置的,我们需要查看整个 pom 结构,包括 parent pom(s) 以及您的 Jenkins 作业配置。
不过,我知道有两种方法可以设置这些属性:
通过您的 parent 个人资料
调用maven时通过系统属性
我的猜测是,您的 parent 之一中有一个配置文件可以设置这些属性。像这样:
<profile>
<id>jenkins</id>
<properties>
<test.suite>...</test.suite>
...
</properties>
</profile>
并且此配置文件已在您的 Jenkins 服务器上激活。查看 here 了解如何激活配置文件的信息。
另一种选择是,当从 Jenkins 调用 maven 时,这些属性被指定为系统属性。
至于为什么用 <variable/>
而不是 <variable></variable>
是个人喜好问题。 <variable/>
与 XML 中的 <variable></variable>
意思相同。