如何从YUI压缩器中排除一个文件夹

6
我想要排除一个包含一组JavaScript文件的文件夹,这些文件无法在YUI压缩器中进行编译并会产生错误。我正在尝试使用<exclude>folder</exclude> 标签来实现此目的,但是它并没有起作用 - YUI仍然在尝试压缩文件夹中的文件。
以下是我的Pom配置:
<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>yuicompressor-maven-plugin</artifactId>
    <version>1.5.1</version>
    <executions>
        <execution>
            <id>compressyui</id>
                <phase>process-resources</phase>
                <goals>
                    <goal>compress</goal>
                </goals>
                <configuration>
                    <nosuffix>true</nosuffix>
                    <warSourceDirectory>src/main/webapp</warSourceDirectory>
                    <jswarn>false</jswarn>
                    <sourceDirectory>src/main/webapp/js-max</sourceDirectory>
                    <webappDirectory>src/main/webapp</webappDirectory>
                    <outputDirectory>src/main/webapp/js</outputDirectory>
                    <force>true</force>
                    <excludes>
                          <!-- yuicompressor fails to compile patterns library, hence stopping full build -->
                          <!-- We won't be modifying this library so will exclude it for now -->
                          <exclude>src/main/webapp/js-max/patterns/*</exclude>
                    </excludes>
                </configuration>
        </execution>
    </executions>
</plugin>

有任何想法如何实现这个?

1
看一下这篇文章:http://stackoverflow.com/questions/11836599/usage-of-yui-compressor-maven-mojo-minifying-javascript - Tunaki
@Tunaki 谢谢伙计,我已经找到解决方案了 :) - Joel Min
嗨,@Tunaki 这个插件将压缩src/main/webapp下的所有.js和.css文件。但在我的情况下,我的.js和.css文件位于src/main/resources/static下,那么我该如何更改默认路径为这个路径呢?提前致谢。 - Vibhav Chaddha
嗨,@JoelMin 这个插件将压缩src/main/webapp下的所有.js和.css文件。但在我的情况下,我的.js和.css文件位于src/main/resources/static下,那么我该如何更改默认路径到这里呢?提前致谢。 - Vibhav Chaddha
1个回答

6

我找到了解决方案,现在把它公开在这里供大家参考。对于我的情况,以下方法有效:

不要使用<exclude>src/main/webapp/js-max/patterns/*</exclude>,而是要使用<exclude>**/patterns/*</exclude>。下面是完整的pom配置文件,适用于我的情况:

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>yuicompressor-maven-plugin</artifactId>
    <version>1.5.1</version>
    <executions>
        <execution>
            <id>compressyui</id>
            <phase>process-resources</phase>
            <goals>
                <goal>compress</goal>
            </goals>
            <configuration>
                <nosuffix>true</nosuffix>
                <warSourceDirectory>src/main/webapp</warSourceDirectory>
                <jswarn>false</jswarn>
                <sourceDirectory>src/main/webapp/js-max</sourceDirectory>
                <webappDirectory>src/main/webapp</webappDirectory>
                <outputDirectory>src/main/webapp/js</outputDirectory>
                <force>true</force>
                <excludes>
                      <!-- yuicompressor fails to compile patterns library, hence stopping full build -->
                      <!-- We won't be modifying this library so will exclude it for now -->
                      <exclude>**/patterns/*</exclude>
                </excludes>
            </configuration>
    </execution>
</executions>


嗨,@JoelMin <warSourceDirectory> 是你的 js、css 文件所在的地方,对吧?如果我把这个路径改成 'src/main/resources/static',那也可以工作吗?实际上,我的 jss 和 css 文件就在上述文件夹中。提前感谢。 - Vibhav Chaddha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接