Ant
ant 中的 out.absolute.dir 是什麼意思?
我在 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>
當我從命令行執行這個建構文件時,我得到了這個輸出
Buildfile: /home/jody/workspace/Test_Ant_APK/build.xml print: [echo] p=/home/jody/workspace/Test_Ant_APK/${out.absolute.dir} BUILD SUCCESSFUL Total time: 0 seconds
我對輸出有點困惑。我認為我們應該有
p=/home/jody/workspace/Test_Ant_APK
輸出。為什麼我們${out.absolute.dir}
在輸出的末尾有?這是什麼意思?這個建構文件有問題嗎?
out.absolute.dir
具體指向哪裡?
(這開始是一個評論,但變得太長,所以現在是一個答案)
out.absolute.dir
在 Linux 中沒有特定的含義。看起來它是您的 Ant 建構腳本使用的變數。如果它經常出現在許多不相關的 Ant 腳本中,它可能只是許多 Ant 使用者/開發人員使用的常見約定(但在 Ant 之外仍然完全任意,本身沒有特殊含義)。${out.absolute.dir}
只是一種確保shell明確使用變數的方法,如果其他文本緊隨其後 - 例如${out.absolute.dir}foo
被視為變數$out.absolute.dir
後跟文字文本foo
,而$out.absolute.dirfoo
被視為完全不同的變數呼叫$out.absolute.dirfoo
(可能不存在並且會導致腳本出錯,或者更糟糕的是,導致腳本執行不應該執行的操作,例如寫入而不是寫入)/home/jody/workspace/Test_Ant_APK/
的子目錄.../Test_Ant_APK
/home/jody/workspace/Test_Ant_APK/${out.absolute.dir}
只是將變數的值附加$out.absolute.dir
到/home/jody/workspace/Test_Ant_APK/
.- 要準確找出該變數指向的位置,您需要徹底檢查 Ant 建構腳本以找到為其賦值的行。沒有腳本的副本,我們無法回答這個問題。我建議
grep 'out.absolute.dir.*='
在您的 ant 和相關的建構腳本上執行。$out.absolute.dir
可能(並且可能是)由其他變數建構而成,因此您也必須查找它們的值。變數可能是由 Ant 自己自動定義的。我對 Ant 的了解還不夠好,可以肯定地說。