2010-08-27 44 views

回答

9

我建议使用YUI Compressor Maven Mojo及其yuicompressor:compress目标代替。它有据可查,只是起作用。

要使用它,添加以下pluginRepository

<pluginRepositories> 
    <pluginRepository> 
     <name>oss.sonatype.org - github-releases</name> 
     <id>oss.sonatype.org-github-releases</id> 
     <url>http://oss.sonatype.org/content/repositories/github-releases</url> 
    </pluginRepository> 
    </pluginRepositories> 

,并宣布该插件:

<project> 
    ... 
    <build> 
    <!-- To define the plugin version in your parent POM --> 
    <pluginManagement> 
     <plugins> 
     <plugin> 
      <groupId>net.alchim31.maven</groupId> 
      <artifactId>yuicompressor-maven-plugin</artifactId> 
      <version>0.9</version> 
     </plugin> 
     ... 
     </plugins> 
    </pluginManagement> 
    <!-- To use the plugin goals in your POM or parent POM --> 
    <plugins> 
     <plugin> 
     <groupId>net.alchim31.maven</groupId> 
     <artifactId>yuicompressor-maven-plugin</artifactId> 
     <executions> 
      <execution> 
      <goals> 
       <goal>compress</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     ... 
    </plugins> 
    </build> 
    ... 
</project> 

参考Usage页面和yuicompressor:compress精确配置的参数。

+0

Hello Pascal, 谢谢你回复并给出解决方案。该插件适用于我,我可以压缩项目所需的文件。同时我还有两个相关的问题。原来的yuicompressor能够删除JS文件的新行。有没有办法使用插件从压缩的js中删除新行? 例如 test.namespace(“com.grid”); com.grid.Menu = function(a){this.m_oMenu = new com.grid.Menu(a,this); this.m_oMenu = a; }; 作为一行 test.namespace(“com.grid”); com.grid.Menu = function(a){this.m_oMenu = new com.grid.Menu(a,this); this.m_oMenu = a ;}; – AmbGup 2010-08-31 10:09:29

+0

@AmbGup我不知道,我不是这个插件的核心用户。但它看起来像插件在默认情况下删除不必要的semicolumn。也许这应该被关闭(使用'preserveAllSemiColons'),以便它可以删除新行。 – 2010-08-31 20:25:27

3

最好的和最先进的一个,我发现至今是wro4j。图书馆和Maven插件的想法与我在互联网上找到的一切不同,它将几乎所有可用的工具组合到一个独立的库中。惊人。

您有两种模式可用 - 第一种是在Java应用程序中动态地作为过滤器运行,第二种是使用Maven插件的构建时解决方案。这一切都非常简单明了,并在项目documentation section上进行了详细解释,所以请深入了解并深入了解。关于如何将wro4j与自己的应用程序或Maven构建过程进行整合,有充分的操作性和解释性很好的示例。

+0

哇......只是哇。我即将花一周的时间来复制这个库(如果我实现了它的所有支持功能,那么这一周的时间要多于一个星期)。 – 2012-07-19 09:38:35

相关问题