[备忘] Apache Ant 运行时传递控制变量

How to pass control variable from shell to Apache ant XML

[原创链接: http://www.smithfox.com/?e=177 转载请保留此声明, 谢谢!! ]

在用Ant, 有时需要在运行时传递控制性的变量, 听上去比较拗口.

看一个常见的需求: 编译成 debug版本 还是 release版本, 我希望可以通过在运行编译脚本时, 通过命令行参数来控制, 而不是写在 ant xml, 或是 build.properties文件中, 因为那样每次编译都要改文件, 相对比较麻烦.

有两种方式: 一种是通过 ANT_OPTS, 另一种是通过Ant内置 <property environment="env" />

先需要澄清一个到现在还在误传的"环境变量" 问题: "Windows下环境变量需在操作系统设置"

网上有太多的教程和例子是N年前的out的东东, 将环境变量设置在操作系统是有很多的问题的, 所以一般情况下不要设置 系统环境变量, 包括 JAVA_HOME, ANT_HOME, 这些. 

就以windows为例:

build.bat: (环境变量的设置和改变, 全部在batch 脚本中, 而不是在操作系统中)

@echo off
@set JAVA_HOME=D:\java\jdk1.6.0_26
@set ANT_HOME=D:\apache-ant-1.8.2
@set PATH=%JAVA_HOME%\bin;%PATH%;%ANT_HOME%\bin
@set ANT_OPTS="-Xmx1024m"
@rem default release
@set DEBUG=false
@rem if ( arg[1].equalsIgnoreCase("debug") )
if /i "%1" == "debug" (
    @set DEBUG=true
) else (
    @set DEBUG=false
)
echo DEBUG=%DEBUG%
rem @ant.bat -f build4.5_all.xml

上面这个build.bat usage:

# build.bat [debug|DEBUG]
 

这里有一个学习windows批处理的好网站:  http://commandwindows.com/index.html

build4.5_all.xml ( 和本主题不相关略去了 )

<?xml version="1.0" encoding="UTF-8"?>
<project default="dist">
	<!-- 环境变量, property前缀设置为 env -->
	<property environment="env" />
	
	<!-- 用 env.DEBUG, 就能引用 DEBUG 这个环境变量了 -->
	<property name="debug" value="${env.DEBUG}" />
	
	<!-- if( ! debug ) omittrace=true else omittrace=false -->
	<target name="set_omit_trace">
        <condition property="omittrace" else="false">
            <isfalse value="${debug}" />
        </condition>
    </target>
	
	<!-- 用 depends 来触发 set_omit_trace 这个task, 从而达到: omittrace= !debug 这样的效果 -->
	<target name="dist" depends="set_omit_trace" >
        <mxmlc file="${SRC_DIR}/com/smithfox/main.mxml"
				output="${BIN_DIR}/main.swf"
				incremental="false">
			<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
			
			<!-- 条件编译宏, 根据 debug 属性来设置 -->
			<define name="CONFIG::debug" value="${debug}" />
			<!-- debug option, 根据 debug 属性来设置 -->
			<debug>${debug}</debug>
			<!-- mxmlc 命令行支持, 但是 flexTasks.tasks 这个 flex ant task却不支持!!!!! Adobe, 让我怎么说你呢
			<compiler.omit-trace-statements>${omittrace}</compiler.omit-trace-statements>
			-->
			<source-path path-element="${SRC_DIR}" />
		</mxmlc>
    </target>
</project>

实际上, 在Java中, 说 "system environment" 其实是指 System.getProperty("key") 这种情况, 我们知道ANT是基于Java的, 所以和大部分基于Java的库或是工具一样(比如Spring), 可以用 ${user.root} 表达式来引用环境变量,

但此处所说的 "环境变量", 其实和 windows bat, linux shell中的变量没有直接关系, 而是指 System.getProperty("user.root"); 

和 windows bat, linux shell 的关联是通过 java 命令 "java -Duser.root=xxxx"  这种方式来指定的.

回到 ANT, ant.bat 或是 ant.sh已经封装过 java启动命令, 所以我们不便直接改这两个script, 但是ant.bat(ant.sh) 已经用了另一个变量来让你设置: 那就是 ANT_OPTS

所以另一种方式就是 @set ANT_OPTS="-Ddebug=true -Xmx1024m", (怎么将 %1 转成true就略去了)

而在ant xml中, 可以直接引用 ${debug}

[原创链接: http://www.smithfox.com/?e=177 转载请保留此声明, 谢谢!! ]

smithfox | Wednesday 10 August 2011 at 1:54 pm | | other        | Used tags: , , , , , , , ,

five comments

Chanel iPhone 6 Plus Cases

You can put virtually any static image on the back of the case you want. The screen is powered separately from your phone, so it will also work when your battery is dead.

Chanel iPhone 6 Plus Cases, (URL) - 23-04-’15 14:32
entretien ménager

service de femme de ménage
Professionnelle de l’entretien, notre dynamique entreprise saur réaliser
pour vous l’ensemble des travaux ménagers.

G.E.M. s’engage sur une prestation de qualité !
Notre équipe de spécialistes chevronnés accomplira un travail à la fois soigné, rapidre eet
économique.
De plus, nous utilisons exclusivement des produits écologiques
et hautement performants, issus des toutes dernières technologies.

La vie moderne véhicule aussi de lourdes menaces. D’apparence
inoffensive, meubles, appareils ménagers, matériaux de construction, jouets ou objets familiers peuvent dégager des phtalates oou autres
redoutables composés chimiques.

Franchise de Nettoyage Résidentiel ett Commercial, service de femme de
ménage ,entretien ménager commercial,entretien ménager commercial, ménage
résidentiel, service d’entretien ménager montréal
Nous aidons les personnes désireuses d’être propriétaires d’entreprises prospères
à devenir des professionnels du nettooyage commercial et de la
maintenance.En rejoignant notre réseau d’entreprises,
vous bénéficierez d’un avantage concurrentiel ainsi que d’une aide apportée par un modèle d’affaires éprouvé
vous assurant dee travailler avec un leader du domaine disposant de l’expérience et la stabilité.

Vous disiez augmentez vos revenus afinn d’améliorer votre quotidien ?
Faites Appel a G.E.M Ménage! service de femme de ménage
,entretien ménager commercial,entretien ménager commercial,
ménage résidentiel, service d’entretien ménager
montréal, service de femme de ménage ,entretien ménager commercial,entretien ménager commercial, ménage
résidentiel, service d’entretien ménager montréal
Franchises de Nettoyage Résidentiel et Comnmercial disponble Partout A Montréal ,Rive Nord et Rive Sud.

Financement Sans Intérêt par G.E.M .
Un dépôt est obligatoire

Un Investissement de 24 000$ Vous Rapporte (4800$ et ppus de Revenus par
Mois)!

Matériel et formkation fourni

Nous aidons les personnes désireuses d’être propriétaires d’entreprises prospères à devebir des professionnels du nettoyage commercial ett
de laa maintenance. En rejoigant noktre réseau d’entreprises, vous
bénéficierez d’un avantage concurrentiel ainsi
que d’une aide apportée par un modèle d’affaires éprouvé vous assurant de travailler
avec un leader du domaine disposant de l’expérience et la
stabilité.

G.E.M Ménage vouis offre l’opportunité de travailler pendant la journée dee lundi a vendredi .

G.E.M Vous propose ddes contrats d’entretien ménager avec
ddes horaires souples et un revenu garanti.

Pour les personnes libres,les nouveaux arrivants ou les sans-emplois
G.E.M peut favoriser votre accès au marché du travail !

G.E.M vous propose ddes contrats stables et rémunérateurs!

Dans le secteur résidentiel idéal pour un couple, ou un homnme
seul dans le secteur commercial
Vous débuter des maintenant

Des techniques et méthodes de travail éprouvées.

Une aidee à la constitution ouu à l’enregistrement de leur entreprise.

Des territoires d’exercice protégés.
Entreprise clés en main.
Un garantie qui protège votre investissement

Exigences de l’entrée de notree réseau :

Les demandes sont examinées attentivement et une
enquête relative à la candidature est menée.
Les candidats doivent passer une entrevue de sélection.
Avant tout début d’activité, les candidats doivent
assister à des sessions de formation.

Au G.E.M. nous nous assurons que nos franchisés puissent offrir à leurs clienrs un service professionnel d’une qualité supérieure à celle de la concurrence.

Franchise disponible au résidentiel et commercial

N’hésitez pas à nous contacter
469 Jean-Talon Ouest Suite # 222
Montreal QC
gemmenage.net
gemmenage.com

entretien ménager, (URL) - 24-08-’17 01:02
Kristopher

G.E.M Ménage s’adapte.

Choisissez le jour à otre convenance.

Le choix le plus populaire est une fois par semaine.
Toutefois, vous êtes libre de déterminer votre fréquence moindre,
toutes les deux semaines, une fois par mois…. G.E.M MÉNAGE s’adapte
à votree besoin et à votre budget.

Nouus individualisons le service de nettoyage. Notre expérience nous a enseigné que
chaque immeuble ou maison est unique, comme less gens quui y vivent.

Le prix pour nettoyer un immeuble ou une maison est basée sur plusieurs facteurs.
La taille du lieu ett la fréquence de nettoyage sont pris en compte.

Cependant, nous intégrons également dans notre analyse, les surfaces à nettoyer et à désinfecter,
la présence ou non d’animaux de compagnie, l’encombrement du lieu.

Pour vous proposer un devis qui conviendra à votre budget, G.E.M MÉNAGE vous rencontre chez vous
afin de prendre connaissance du lieu et mieux comprendre vos besoins et exigences de nettoyage.

G.E.M MÉNAGE exerce son activité dans le domaine du nettoyage des locaux industriels et commerciaux et des parties communes d’immeubles collectifs résidentiels.
Son équipe de collaborateurs possède dnc toutes
les compétences nécessaires pour donner un éclat nouveau auux bureaux d’une société, à
uun magasin, au hall d’entrée d’un immeuble ou à sses cages d’escalier ainsi qu‘à ses paliers
d‘étage. D’autre part, elle peut très bien assurer le nettoyage d’un gaqrage automobile, d’un atelier de fabrication ou d’un entrepôt de stockage, d’un parking intérieur ou extérieur.

Grand ménage a 199$
Meilleur Prix
Résidenteil Commercial
Entretien Ménager Résidentiel et Commercial

Jouuez sans hésitation la crte santé pour vous-même mais aussi au bénéfice de votre entourage :
Choisir G.E.M. et partager son enngagement pour la protection de l’environnement, c’est
vous épargner dés à présent les dommages des
produits chimikques à la rémanence prononcéeet opter résolument pour une qualité de viie accrue dans un milieu sain, car exempt de tout reliquat de composé toxique et sournois !

Nous assurons un service dde prestations sur mesure, individualisé, de haute fiabilité.


Déchargez-vous des chargbes de planification, économisez
et retrouvez tranquillité d’esprit et sécurité en souscrivant
avec G.E.M un avantageux contrat d’entretien périodique.
Nous répondrons à toute demande et établirons un devis parfaitemsnt adapté à
vos besoins.
G.E.M offre une large gammee de travaux d’entretien ménager.

Nous offrons à toute heure un service d’urgence.

Nous saurons satisfaire tous vos besoins, qu’ils soient résidentiels ou
professionnels, ponctuels ou réguliers. Les équipes de professionbnels
chevronnés de G.E.M sauront répondre à vos exigences.L’excellente réputation dee G.E.M est
encore confortée par l’utilisation excluive de roduits certifiés
écologiques, respectueux de votre environnement, tout comme de vos équipements et surfaces (bois, inox, marbre, carrelage, verre, porcelaine, écrans) !

Chez G.E.M, nous accordons une grande importance au respect des horaires et durées d’intervention.
G.E.M est profondément honoré de la confiance que vous avez placée en lui.

Pourquoi faire appel à une multitude d’intervenants alors que vous pouviez confier à G.E.M la réalisation de toutes ces tâches ménagères ?

femme de ménage ,femme de ménage Montréal, femmmes de ménage à domicile, fenme de ménage Longueuil, femme de ménage Laval, femme de ménageLongueuil, femme de ménage Boucherville,
femme de ménage Brossard, femme de ménage Repentigny ,
Simplifiez-vous la vvie et gagnez en tranquillité d’esprit
!
Regroupez la réalisation de ces travaux chez uun seul prestataire !
Pouur votre plus grande satisfaction, faites de G.E.M votre unique intervenant qui pourra assurer
tout au long de l’année la continuité d’un service de haute qualité eet à la carte !

N’hésitez Pas a Nouss Contacter
1866 809 0550 / 514 616 4927
Prfessionnelle de l’entretien, notre dynamique entreprise saura réaliser
pour vous l’ensemble des travaux ménagers. G.E.M. s’engage
sur une prestation de qualité !
Notre équipe de spécialistes chevronnés accomplira un travail à la fois soigné, rapide et économique.
De plus, nous utilisons exclusivement des produits écologiques et hautekent
performants, isus des toues dernières technologies.

G.E.M Ménage met ses compétences à votre service pour l’entretien courant et ocxasionnel de
vos résidences et locaux professionnels.
Nos équipes de professionnels vous proposent des prestations de qualité adaptées à vos besoins.

Grille de tarifs abordables : Nos prix sont optimisés pour avoir le
meillleur rapport qualité/prix suivant vos besoins eet les spécifications dde votte résidence
.
Un personnel expérimenté et qualifié : Noos franchisés et équipes de nettoyage somt des professionnels formés pour répondre à vos besoins less plus spécifiques.

Assurance responsabilité civile : Nos franchisés sont couverts par une assurance
responsabilité civile garantissant less accidents ou
dommagess éventuels.
Équipements et produits : Nos équipes utilisent leurs propres produits et équipements.

Produits de nettoyage biodégradables et équipements : Protéger l’environnement est pour
nous unn objectif essentiel.
Nous n’utilisons que des produits biodégradables, équipements et procédés respectueux de l’environnement .

Programmes de services dynamiques : Nous sommes à l’écoute
permanente des exigences de nos clients et réalisons ddes enquêtes
dynamiquews de satisfactioon de manière à améliorer
continuellement la qualité de nos services.

Garantie : G.E.M s’engage à ce que ses clients soient entièrement satisfaits de
lla réalisation de sees travauxx d’entretien ménager, même si cela nécessite de faire le travail deux fois
Sans engagement de votre part : Nos services résidentiel n’appellent la signature
d’aucun contrat. Vous pouvez programmer un nettoyage ou annuler
notre visite moyennant un simple appel téléphonique.

Nous avons développé une structure de travakl unique pour répondre aux exigences
spécifiques de nos clients.entretien menager residentiel, ménage résidentiel, ménage
de bureaux ,ménage résidentiel Montréal ,ménage résidentiel Laval, ménage
commercial ,ménage commercial Montréal ,ménage commercial Laval,

Kristopher, (URL) - 30-08-’17 09:11
service entretien ménager

service de femme dee ménage
Professionnelle de l’entretien, notre dynamique entreprise saura réaliser pour vous l’ensemble des travaux ménagers.

G.E.M. s’engage ssur une prestation dee qualité !
Notre équipe dde spécialistes chevronnésaccomplira un travail à lla fois soigné, rapide et économique.

De plus, nnous utilisons exclusivement dees produits écologiques et hautement
performants, issus des toutes dernières technologies.

La vie moderne véhicule aussi de lourdes menaces.

D’apparence inoffensive, meubles, appareils ménagers, matériaux de construction, jouets ou objets
familiers peuvent dégager des phtalates ouu autres redoutables composés chimiques.

entretien ménager résidentiel.G.E.M votre unique intervenant qui pourra assurer tout au long de l’année la continuité d’un service de haute qualité et à la carte !

Entretien ménager résidentiel, Entetien ménager commercial, Grand ménage résidentiel et commercial, Lavage de Vitres,
Lavge de tapis, Décapage et Cirage de planchers et Plus.

Franchise de Nettoyage Résidentiel et Commercial, srvice de femme de ménage ,entretien ménager commercial,
entretien ménager commercial, ménage résidentiel, service d’entretien ménager montréal
Nous aidons les personnes désireuses d’être propriétaires d’entreprises prospères à
devenir des professionnels du nettoyage commercial et de la maintenance.
En rejoignant notre réseau d’entreprises, vous bénéficierez d’un avantage
concdurrentiel ainsi que d’une aide apportée par uun modèled’affaires éprouvé vous assurant de travailler
avec un leader du domaine disposant de l’expérience et la stabilité.

Vous disiez augmentez vos revenus afin d’améliorer votre
quotidien ? Faites Appel a G.E.M Ménage! service de femme de ménage ,entretien ménager commercial,
entretien ménager commercial, ménage résidentiel, service d’entretien ménager
montréal, servuce de femme de ménage ,entretien ménager commercial,entretien ménager commercial, ménage résidentiel, service d’entretien ménager montréal
Franchises dde Nettoyage Résidentiel et Commercial disponible Partout A Montréal ,Rive Nord ett
Rive Sud.

Financement Sans Intérêt par G.E.M .
Un dépôt est obligatoire

Un Investissement de 24 000$ Vous Rapporte (4800$ et plus
de Revenus par Mois)!

Matériel et formation fourni

Nous aidons les personnes désireuses d’être propriétaires
d’entreprises prospères à devenir des professionnels du nettoyage commercial eet
de la maintenance. En rejoignant notre réseau d’entreprises, vous bénéficierez d’un avantage concurrentiel ainsi
que d’une aide apportée par un modèle d’affaires
éprouvé vous assurant de travailler avec un leader du domaine disposant de
l’expérience et la stabilité.

G.E.M Ménage vous offre l’opportunité de travailler pendant la journée
de lundi a vendredi .

G.E.M Vous propose des contrats d’entretien ménager avec des horaires souplers
et un revenu garanti.

Pour les personnes libres,les nouveaux arrivants ou les sans-emplois G.E.M peut favoriser votre
accès au marché du travail !

G.E.M vous propose des contrats stables et rémunérateurs!

Dans le secteur résidentiel idéal pour un couple, ou un homme seul dans le secteur commercial
Vous débuter des maintenant

Des techniques et méthodes de travail éprouvées.
Unee aide à la constitution ou à l’enregistrement
de leur entreprise.
Dees territoires d’exercice protégés.
Entreprise clés en main.
Un garantie qui protège votgre invesyissement

Exigences dee l’entrée dde notre réseau :
Les demandes sonht examinées attentivement et une enquête
relative à la candidature est menée.
Les candidats doivent passer une entrevue de sélection.
Avant tout début d’activité, les candidats doivent assister à des sessions de
formation.

Au G.E.M. nous nous assurons que nos franchisés puissent offrir à leurs clients un service professionnel d’une qualité supérieure à celole de laa concurrence.

Franchise disponible au résidentiel et commercial

N’hésitez pass à nous contacter
469 Jean-Talon Ouest Suite # 222
Montreaal QC
gemmenage.net
gemmenage.com

service entretien ménager, (URL) - 31-08-’17 17:37
service entretien ménager résidentiel et commercial montreal

service de femme de ménage
Professionnelle de l’entretien, notre dynamique entreprise saura réaliser pour vous l’ensemble des
travaux ménagers.
G.E.M. s’engage sur une prestation de qualité !

Notre équipe de spécialistes chevronnés accomplira un travail à la fois soigné, rapide et économique.

De plus, nous utilisons exclusivement des produits écologiques et hautement performants, issus des toutes dernières
technologies.
La vie moderne véhicule aussi de lourdes menaces. D’apparence inoffensive, meubles, appareils ménagers, matériaux de
construction, jouets ou objjets familiers peuvent dégager des phtalates ou autres redoutables composés chimiques.

entretien ménager résidentiel.G.E.M votre unique
intervenant qui pourra assurer tout au ong de l’année la continuité d’un service de haute qualité
et à la carte !
Entretien ménager résidentiel, Entretien ménager commercial, Grand ménage résidentiel et commercial, Lavage de Vitres, Lavage de tapis,
Décapage et Cirage de planchers et Plus.

Frachise de Nettoyage Résidentiel et Commercial, service
de femme de ménage ,entretien ménager commercial,entretien ménager commercial, ménage
résidentiel, service d’entretien ménager montréal
Nous aidons lles personnes désireuses d’être propriétaires d’entreprises prospères à devenir des professionnels du nettoyage commercial et de la maintenance.
En rejooignant ntre réseau d’entreprises, vous bénéficierez d’un avantage concurrentiel aknsi qque d’une aide apportée par un modèle d’affaires éprouvé vous assurant de
travailler avec un leader du domaine disposant dee
l’expérience et la stabilité.
Vous disiez augmentez vos revenus afi d’améliorer vottre quotidien ?
Faites Appel a G.E.M Ménage! service de femme de ménage ,entretien ménager commercial,entretien ménager commercial, ménage résidentiel, service d’entretien ménager montréal,
service de femme de ménage ,entretien ménager commercial,entretien ménager commercial, ménage
résidentiel, service d’entretien ménager montréal
Franchises de Nettoyage Résidentiel et Commercial disponible Partout A Montréal ,Rivve Nord et Rive Sud.

Financemednt Sans Intérêt par G.E.M .
Un dépôt est obligatoire

Un Investissement de 24 000$ Vous Rapporte (4800$
et plus de Revenus par Mois)!

Matériel et formation fiurni

Nous aidons les personnes désireuses d’être propriétaires d’entreprises prospères
à devenir des professionnels du nettoyage commercial et de
la maintenance. En rejoignant notre réseau d’entreprises,
vous bénéficierez d’un avantage concurrentiel ainsi que d’une aide apportée par un modèle d’affaires éprouvé vous assurant de travailler avec un leader du
domaine disposant de l’expérience et la stabilité.

G.E.M Ménage vous offre l’opportunité de travailler pendant la journée de lundi a vendredi .

G.E.M Vous propose des contrats d’entretien ménager avec des horaires souples et un revenu garanti.

Pour lees personnes libres,les nouveaux arrivamts ou les sans-emplois G.E.M peut favoriser votre accès au marché du travail !

G.E.M vous propose des contrats stables et rémunérateurs!

Dans le secteur résidentiel idéal pour un couple, ou un homme seul
dans le sehteur commercial
Vous débuter des maintenant

Des techniques et méthodes de traail éprouvées.

Une aide à la constitution ou à l’enregistrement de leur entreprise.

Dess territoires d’exercice protégés.

Entreprise clés en main.
Un garfantie qui protège votre investissement

Exigences de l’entrée de notre réseau :
Les demandes sont examinées attentivement et une enquête
relative à la candidature est menée.
Les candidats doivent passer une emtrevue de sélection.
Avant tout début d’activité, les candidats doivent assister à des
sessions de formation.

Au G.E.M. nous nous assurons que nnos franchisés puissent offrir à leurs clients un service professionnel d’une qualité supérieure à
celle dee la concurrence.
Franchise disponible au résidentiel et commercial

N’hésitez pas à nolus contacter
469 Jean-Talon Ouest Suite # 222
Montreal QC
gemmenage.net
gemmenage.com

service entretien ménager résidentiel et commercial montreal, (URL) - 31-08-’17 19:28
(optional field)
(optional field)
为阻止垃圾广告, 请在提交评论前, 回答一个简单问题(Please answer an simple question)
Remember personal info?
Notify
Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.