Я учусь build.xml и смущает следующий код:Что это делает build.xml?
<macrodef name="a-test">
<attribute name="port" default="${PORT}"/> #1
<junit printsummary=...
<env key="PORT" value="@{port}" /> #2
...
при запуске Java с командной строки, включая -DPORT = 8080, а затем в Java коде я получаю значение порта 8080, вызвав
String port = System.getenv(PORT).
Что такое вышестрочный.xml? До сих пор я знаю, что $ означает представлять свойство, а @ - представлять атрибут. Кроме того, приведенный выше код является единственным местом, где появляются ПОРТ и порт. Что происходит здесь, чтобы значение порта было наконец получено в java-коде? Благодарю.
Другой вопрос, в чем разница кстати. используя «ключ env» и используя «sysproperty»? в соответствии с http://etutorials.org/Programming/Java+extreme+programming/Chapter+3.+Ant/3.6+Passing+Arguments+to+a+Buildfile/ sysproperty может использоваться для анализа аргумента -D на Java-код, а ключ env используется для того, чтобы делать то же самое правильно? Благодарю.
Есть ли какой-либо подробный документ о build.xml? тот, с которым я google из Интернета описываю вещи так кратко.
Попробуйте получить книгу о муравьях. : http://shop.oreilly.com/product/9780596001841.do – Jayan
Пожалуйста, задайте один раз конкретный вопрос, поэтому ответы будут полезны. sysproperty обсуждается на http://ant.apache.org/manual/Tasks/junit.html – Jayan