我可以在聚合后为压缩文件设置Maven YUI Compressor,因为我想要排除“sources”目录,其中包含用于聚合的文件,然后压缩聚合文件。
例如,我在 / js / sources / mylib / 中有一些.js文件,所有这些文件合并到一个文件 /js/mylib.js 中yui-压缩机聚合阶段。在pom.xml中我配置yui-compressor以排除整个 / js / sources / 并仅在 / js 库中压缩文件,但是yui-compressor之前执行“压缩”目标聚合,所以我有未压缩的合并文件。我需要以某种方式解决这个问题
答案 0 :(得分:1)
我们可以转过身说:压缩后聚合吗?如果是这样,我遇到了同样的问题,并且以下内容为我解决了问题。
诀窍似乎是将输出文件放在目标目录而不是源中。这样,您就可以包含在聚合中缩小的文件。
已经缩小的文件然后我接近基础变量
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/*-min.js</exclude>
<exclude>**/*.min.js</exclude>
<exclude>**/*.css</exclude>
</excludes>
<removeIncluded>false</removeIncluded>
<jswarn>false</jswarn>
<aggregations>
<aggregation>
<insertNewLine>true</insertNewLine>
<removeIncluded>false</removeIncluded>
<includes>
<!-- these exist only in target dir. the original was json2.js & bootstrap.tabs.js -->
<include>**/bootstrap-tabs-min.js</include>
<include>**/json2-min.js</include>
<!-- use originals for the ones already minified -->
<include>${basedir}/src/main/webapp/js/backbone-min.js</include>
</includes>
<output>${project.build.directory}/${project.build.finalName}/js/test.js</output>
</aggregation>
</aggregations>
</configuration>