gpt4 book ai didi

java - maven yui 压缩 war :war

转载 作者:搜寻专家 更新时间:2023-10-31 08:30:49 24 4
gpt4 key购买 nike

我正在尝试使用 Maven 和 this plugin 自动压缩 CSS 和 JS。 .我想在执行目标 war 时进行压缩,但我不知道如何:

<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>

最佳答案

您需要将执行绑定(bind)到一个阶段,以便在您运行 war 打包时执行。这些是 available phases你可以绑定(bind)到 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 文件是否未生成或只是未包含在 war 中?

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

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

  1. 尝试运行 installpackage 而不是运行 war 目标,这将调用标准生命周期,并且 yuicompressor 插件将在 process-resources 阶段被调用.
  2. 或者将上例中 yuicompressor 目标绑定(bind)到的阶段更改为 package,以便在您运行 war:war 目标时激活它。

关于java - maven yui 压缩 war :war,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1248403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com