我使用的是html5boiler板ant構建腳本,我試圖將其整合到我現有的平臺中,我的所有css和js文件都包含在使用絕對路徑中。例如:HTML 5鍋爐板螞蟻腳本與絕對路徑
<!-- scripts concatenated and minified via build script -->
<script type="text/javascript" src="/static/js/common.js"></script>
<script type="text/javascript" src="/static/js/overlay.js"></script>
<script type="text/javascript" src="/static/js/init.js"></script>
<script type="text/javascript" src="/static/js/base.js"></script>
<!-- end scripts -->
但是,當我運行構建腳本它告訴我該目錄不存在。這是因爲它沒有使用相對路徑來查找文件。如果我脫掉領先/然後我可以讓它工作,因爲它相對於我的項目源文件夾。任何想法如何我可以得到這個工作,而無需採取先導斜線關閉?我們的想法是能夠利用現有的項目,並使其沒有任何變化,除了工作,在加入評論。
UPDATE 以下ANT代碼是從html5boiler板螞蟻的build.xml。基本上,我的路徑在file.root.page是絕對像我上面靜態。因此,scripts.ordered屬性正在輸出具有絕對路徑的文件名。因此,當它到達concat命令時,它將script.toconcat的輸入與絕對路徑以/ static開頭。我需要預先設置一條路徑到那些絕對路徑,所以我現在有/content/test.war/static/js/common.js
所以基本上,即時嘗試預先安裝一個路徑,如/content/test.war下面的變量scripts.toconcat是上面定義的絕對路徑列表。
<filelist id="file.root" dir="${dir.source}/../${dir.cssjsfileloc}" files="${file.root.page}"/>
<echo message="Concatenating Main JS scripts based on ${file.root.page}..."/>
<apply executable="java" parallel="false"
outputproperty="scripts.ordered">
<arg value="-cp"/>
<arg value="${dir.build.tools}"/>
<arg value="ScriptsToConcat"/>
<first>
<filelist refid="file.root"/>
</first>
</apply>
<filelist id="scripts.toconcat" dir="./${dir.intermediateroot}/" files="${scripts.ordered}">
</filelist>
<!-- overwrite=no here means not to overwrite if the target is newer than the sources -->
<concat destfile="./${dir.intermediate}/${dir.js}/scripts-concat.min.js" overwrite="no">
<filelist refid="scripts.toconcat" />
</concat>
感謝
我不想編輯文件的內容。我寧願直接編輯文件列表。檢查我的螞蟻任務上面 –