有什么网站是layui做的,网店代运营是做什么的,怎么wordpress用的什么主题,一家专门做动漫的网站每隔一段时间#xff0c;我会想起Ant属性的一些细微差别 #xff0c;一旦忘记它们#xff0c;在与Ant交互时会引起混乱。 特别是#xff0c; Ant属性 通常是不可变的 #xff08;不包括Ant 1.8版本的 局部属性 #xff09;#xff0c;并且在其首次设置时“永久”设置我会想起Ant属性的一些细微差别 一旦忘记它们在与Ant交互时会引起混乱。 特别是 Ant属性 通常是不可变的 不包括Ant 1.8版本的 局部属性 并且在其首次设置时“永久”设置这一事实可能会导致令人惊讶的结果。 《 蚂蚁手册 》的属性部分指出“通常无法更改属性值一旦设置了属性大多数任务将不允许修改其值。” 该手册中有关“ 属性”任务的部分补充说“属性是不可变的谁先设置属性谁会先冻结该属性然后再进行其余构建 它们绝对不是变量。” 属性定义的顺序会影响其设置。 通常一旦设置了属性以后就无法在同一构建文件或被调用的构建文件中重新定义则无法更改其值。 此外还有一组已经定义的属性这些属性通常无法在Ant构建文件中重新定义。 这些包括Java System属性和内置的Ant属性 。 尽管在Ant构建文件中定义的属性不能覆盖默认的Ant内置属性或Java系统属性的值但是通常可以使用Ant启动器上的-D选项设置这些属性名称的这些值。 但是即使使用-D选项也无法重置其中的少数。 例如即使通过-D选项作为参数传递也无法从Ant构建文件的路径和名称更改ant.file 。 当然这可能也是一样因为似乎没有充分的理由假装Ant构建文件不是实际的文件。 为了演示上述Ant属性解析的“规则”可以使用以下简单的Ant构建文件。 build.xml在Ant中显示属性 project nameProject defaultshowProperties basedir.property environmentenv/target nameshowProperties!-- Java System Properties --echo messagejava.home: ${java.home} /echo messageuser.home: ${user.home} /!-- Custom Properties --echo messagename.last: ${name.last} /echo messagename.first: ${name.first} /!-- Ant Built-in Properties --echo messageant.file: ${ant.file} /echo messageant.version: ${ant.version} /echo messageant.java.version: ${ant.java.version} //target/project 在此示例中有几个Java系统属性几个自定义属性和一些Ant内置属性。 这些使我可以轻松地演示如何覆盖或不覆盖属性。 下一个屏幕快照显示了属性的“默认”设置而不会被覆盖。 根本没有定义两个自定义变量但是其他两个Java系统和Ant内置属性具有为Ant构建自动设置的值。 下一个屏幕快照显示了尝试通过-D参数传递为构建中使用的属性提供值的尝试。 如示例所示即使系统属性和Ant内置属性也可以使用-D属性设置覆盖但ant.file属性不会被覆盖。 指定Ant文件中使用的属性的一种常用方法是使用Property任务在Ant构建文件中指定它们。 下一个代码清单将内部定义的属性添加到上面显示的文件中。 build.xml在内部定义属性 project nameProject defaultshowProperties basedir.property environmentenv/property nameuser.home value/bin /property namejava.home valuejava /property namename.last valueFlintstone /property namename.first valueFred /property nameant.file valuetext.txt /property nameant.version value1.8. /property nameant.java.version value6 /target nameshowProperties!-- Java System Properties --echo messagejava.home: ${java.home} /echo messageuser.home: ${user.home} /!-- Custom Properties --echo messagename.last: ${name.last} /echo messagename.first: ${name.first} /!-- Ant Built-in Properties --echo messageant.file: ${ant.file} /echo messageant.version: ${ant.version} /echo messageant.java.version: ${ant.java.version} //target/project 下一个屏幕快照显示了运行此Ant文件时没有-D参数提供的任何属性。 请注意内部规范成功设置的唯一属性是自定义属性。 Java系统属性和内置的Ant属性不受内部设置属性的影响。 通常Ant的属性是不可变的这具有很多优点。 但是当仅仅因为在一个特定的Ant构建文件或该构建文件引用的属性文件中声明了一个属性而实际上是为该属性设置了该属性的值时一定要谨慎。 如果该属性已在其他位置设置则本地重新定义该属性的尝试只会错误地发布该属性的值而该值实际上并不适用。 参考来自JCG合作伙伴 Dustin Marx的Ant Properties Nuances 来自“实际事件的启发”博客。 翻译自: https://www.javacodegeeks.com/2013/08/ant-properties-nuances.html