您好我正在使用ant war插件并尝试从战争中排除文件夹。但这并没有被排除在外。
这是结构
XYZ
src
main
webapp
web-inf
web.xml
common
api
a.js
b.js
我对target = production的build.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>
如何在war文件中排除这些js文件?用于生产模式。我打算排除这些js文件并包含一个缩小的js文件。任何指针
答案 0 :(得分:1)
在<exclude>
:
<fileset>
<fileset dir="${webappsrc}">
<exclude name="common/api/*.js" />
</fileset>
答案 1 :(得分:0)
当您使用exclude
属性时,直接在任务中添加的fileset
未嵌套到其中一个fileset
中,适用于隐式basedir
任务表单。没有任何basedir
它不会做任何事情。这可能不会在war
文档中提及,而是在链接的jar
页面内提及。
您必须将exclude
放在fileset
内,该lib
会提取您不想要的文件。 classes
和fileset
是zipfileset
个不同的名称(它们实际上只有prefix
个带有硬编码的<widget android-packageName=""
属性。)