繁体   English   中英

maven yui压缩战争:战争

[英]maven yui compression on war:war

我正在尝试使用maven和这个插件自动压缩CSS和JS。 我想在执行目标战时压缩,但我不知道如何:

<build>
  <finalName>${artifactId}-${version}-production</finalName>
  <plugins>
    <plugin>
      <groupId>net.sf.alchim</groupId>
      <artifactId>yuicompressor-maven-plugin</artifactId>
      <executions>
        <execution>
          <configuration>
            <gzip>true</gzip>
            <nosuffix>true</nosuffix>
          </configuration>
          <goals>
            <goal>compress</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

您需要将执行绑定到阶段,以便在运行war包装时执行。 这些是您可以绑定到战争包装的可用阶段

<plugin>
  <groupId>net.sf.alchim</groupId>
  <artifactId>yuicompressor-maven-plugin</artifactId>
  <executions>
    <execution>
      <id>compress</id>
      <phase>process-resources</phase>
      ...<!--rest of config is fine-->

更新:js.gz文件是否未生成或未包含在战争中?

还有一件事要检查你是否还没有看到战争中的内容是资源应该在src / main / resources下 ,而不是src / main / webapp yuicompressor插件将处理src / main / webapp中的js文件,但它们不会包含在最终的战争中。

更新2:看到你的答案后重读你的问题,我误读了你正在运行的目标。 为避免运行两个目标,您可以执行以下操作之一:

  1. 尝试而不是运行war目标,运行installpackage ,这将调用标准生命周期,yuicompressor插件将在process-resources阶段调用。
  2. 或者,在上面的示例中更改yuicompressor目标所绑定的阶段以打包,以便在运行war:war目标时激活它。

由于一些奇怪的原因war:war没有在阶段process-resources调用插件process-resources :我刚刚在nb 6.7上添加了一个自定义菜单,调用第一次compile ,然后是war:war

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM