2012-12-26 83 views
1

我使用的是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> 

感謝

回答

0

這是螞蟻。爲什麼不在這個替換之後有一個Ant任務運行?

您可以撥打replaceregexp這是一個目錄節奏任務文件搜索和替換。

+0

我不想編輯文件的內容。我寧願直接編輯文件列表。檢查我的螞蟻任務上面 –