这个build.xml在做什么?

时间:2014-09-19 05:50:20

标签: ant build.xml

我正在学习build.xml,并对以下代码感到困惑:

  <macrodef name="a-test">
      <attribute name="port" default="${PORT}"/>        #1
      <junit printsummary=...
            <env key="PORT" value="@{port}" />          #2
            ...

当我用commandLine运行java包括-DPORT = 8080然后在java代码中我通过调用

获得端口值8080
String port = System.getenv(PORT).

上面的build.xml是做什么的?到目前为止,我知道$表示属性,而@表示属性。此外,上面的代码是PORT和端口出现的唯一地方。这里发生了什么,以便最终在java代码中获得端口值?感谢。

另一个问题,btw的区别是什么。使用&#34; env key&#34;并使用&#34; sysproperty&#34;?根据{{​​3}} sysproperty可以用来解析-D到java代码的参数,而env key用来做同样的事情吧?谢谢。

是否有关于build.xml的详细文档?我从互联网描述的东西谷歌那么简短。

1 个答案:

答案 0 :(得分:1)

你在蚂蚁中看到的是macrodef。 build.xml(或其他build.xml)中还有另一个地方,类似于

<a-test port=<value> ..