嗨,我正在使用蚂蚁战争插件并试图从战争中排除一个文件夹。 但是,这并没有被排除在外。
这是结构
XYZ
src
main
webapp
web-inf
web.xml
common
api
a.js
b.js
我的构建.xml对于目标=生产看起来像这样,我试图排除公共文件夹。但是我看到它根本不排除它
<target name="production" depends="moveresources"
description="Building the Production Directory Content">
<echo message="Creating -> ${workingDirectory}"/>
<war destfile="${workingDirectory}/horizonadmin.war" webxml="${srcDirectory}/WEB-INF/web.xml">
<fileset dir="${webappsrc}"/>
<lib dir="${srcDirectory}/WEB-INF/lib"/>
<classes dir="${srcDirectory}/WEB-INF/classes"/>
<exclude name="common/api/*.js/>
</war>
<echo message="Done Creating -> ${workingDirectory}"/>
</target>
在我的POM中.xml我将文件夹引用为:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>production</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<property name="unpackfolder" value="${unpack.folder}"/>
<property name="webappsrc" value="src/main/webapp"/>
<property name="srcDirectory" value="${project.basedir}/target"/>
<property name="workingDirectory" value="${PUBLISH_DIR}/production"/>
<ant antfile="${project.basedir}/build.xml" target="production"/>
</target>
</configuration>
</execution>
如何在我的战争文件中排除这些 js 文件? 对于生产模式。我计划排除这些js文件并包含一个缩小的js文件。任何指针
<fileset>
中包含<exclude>
:
<fileset dir="${webappsrc}">
<exclude name="common/api/*.js" />
</fileset>
basedir
属性时,直接添加到任务内部的exclude
不会嵌套到fileset
之一中,适用于任务表单的隐式fileset
。没有任何basedir
它什么也做不了。这可能不会在war
文档中提及,但在链接的jar
页面中提及。
您必须将exclude
放在拉入您不需要的文件的fileset
内。 lib
和 classes
是具有不同名称的 fileset
(它们实际上只是具有硬编码prefix
属性的zipfileset
)。