gpt4 book ai didi

java - out.absolute.dir 在 Linux 中是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:13 25 4
gpt4 key购买 nike

n我在 Linux 不同项目的构建文件中看到经常使用“out.absolute.dir”,我真的很好奇它到底是什么意思。所以我写了一个简短的构建文件,我在以下几行中提到了

<project name="Test_Ant_APK" default="print">
<property name="cal.out.dir" location="${out.absolute.dir}"/>
<target name="print">
<echo>p=${cal.out.dir}</echo>
</target>
</project>

当我从命令行运行这个构建文件时,我得到了这个输出

构建文件:/home/jody/workspace/Test_Ant_APK/build.xml

打印:

 [echo] p=/home/jody/workspace/Test_Ant_APK/${out.absolute.dir}

构建成功

总时间:0秒

我对输出有点困惑。我认为我们应该将 p=/home/jody/workspace/Test_Ant_APK 作为输出。为什么我们有 ${out.absolute.dir}在输出结束时?这是什么意思?这个构建文件有问题吗?

最佳答案

您的构建脚本没有问题。您使用语法 ${...} 寻址属性值,但作为属性 out.absolute.dir 未在您的 ant 文件的项目范围内设置,它按原样回显 => ${out.absolute.dir} 这对于未设置属性 - 在您的情况下,由于在属性任务中使用了 location 属性,因此将其添加到您的 ant 脚本所在的目录中。
查看将属性任务与值属性一起使用时的区别:

<project name="foo">    
<property name="cal.out.dir" value="${out.absolute.dir}"/>
<target name="print">
<echo>${cal.out.dir}</echo>
</target>
</project>

输出:

[echo] ${out.absolute.dir}

我相信 propertyname $[out.absolute.dir} 可能会在多个脚本中使用,因为具有属性位置的属性任务意味着(取自 ant 手册):

Sets the property to the absolute filename of the given file. If the value of this attribute is an absolute path, it is left unchanged (with / and \ characters converted to the current platforms conventions). Otherwise it is taken as a path relative to the project's basedir and expanded.

见 Ant manual property task了解详情。
如果要回显项目名称属性的值,则必须使用内置属性 ${ant.project.name},f.e :

<project name="foo">
<echo>$${ant.project.name} => ${ant.project.name}</echo>
</project>

查看所有内置属性:

<project>
<echo>ant builtin properties:</echo>
<echoproperties prefix="ant"/>
<echo>java builtin properties:</echo>
<echoproperties prefix="java"/>
</project>

关于java - out.absolute.dir 在 Linux 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36092774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com