我正在使用html5boiler板块ant构建脚本,我正在尝试将其集成到我现有的平台中,其中我使用绝对路径包含所有css和js文件。例如:
<!-- 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 -->
但是,当我运行构建脚本时,它告诉我该目录不存在。那是因为它没有使用相对路径来查找文件。如果我取消领先/然后我可以让它工作因为它相对于我的项目源文件夹。知道如何在不采取这种领先优势的情况下实现这一目标吗?我们的想法是能够在不添加任何更改的情况下使用现有项目并使其工作。
更新 以下ANT代码来自html5boiler plate ant 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>
由于