[英]Ant copy classpath jars to a directory
我确信这要么是之前被要求的,要么是非常简单的。 但无论出于何种原因,我似乎无法使其发挥作用。 我想使用ant将${build.classpath}
(包含以冒号分隔的jar列表) ${output.dir}/myapp/WEB-INF/lib
到${output.dir}/myapp/WEB-INF/lib
。
我现在有这个,它似乎不起作用:
<copy toDir="${output.dir}/myapp/WEB-INF/lib">
<fileset file="${build.classpath}" />
</copy>
它将整个类路径视为一个文件。 我如何让它工作?
复制任务上的Ant手册包含您的问题的答案。 它提供的示例代码段之一:
将当前CLASSPATH设置中的所有项目收集到目标目录中,展平目录结构。
<copy todir="dest" flatten="true">
<path>
<pathelement path="${java.class.path}"/>
</path>
</copy>
我认为这样的想法应该有效:
<copy todir="${output.dir}/myapp/WEB-INF/lib" verbose="yes" flatten="yes" failonerror="no">
<fileset dir="${build.classpath}">
<include name="*.jar" />
</fileset>
</copy>
或者使用包含的通配符: <include name="**/*.jar" />
我认为你应该将所有冒号分隔的jar文件放到一个根文件夹中。 如果不可能,则创建一个单独的任务,将这些jar文件放入一个文件夹(可能是临时的)。 并将${build.classpath}
分配给该文件夹。 在copy子句中使用<fileset dir="${build.classpath}"/>
。
我希望,它应该有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.