maven-2 - yuicompressor-maven-plugin 不受进程资源限制

标签 maven-2 pom.xml yui-compressor

我一直试图找出为什么 yuicompressor-maven-plugin 在“mvn package”期间没有执行。我可以在独立任务中执行它,如下面的链接所述,但不知何故,该插件不会从 Maven 生命周期中调用。

http://davidb.github.com/yuicompressor-maven-plugin/usage_compress.html

这是我使用的示例 pom.xml,

  <build>
    <pluginManagement>
      <plugins>
     <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <configuration>
         <source>1.6</source>
         <target>1.6</target>
           </configuration>
     </plugin>

    <!-- yuicompressor-maven-plugin -->
        <plugin>
          <groupId>net.alchim31.maven</groupId>
          <artifactId>yuicompressor-maven-plugin</artifactId>
          <version>1.3.0</version>
          <executions>
            <execution>
              <id>compress</id>
              <phase>process-resources</phase>
              <goals>
                <goal>compress</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <linebreakpos>-1</linebreakpos>
            <encoding>UTF-8</encoding>
            <nosuffix>true</nosuffix>
            <force>true</force>
            <jswarn>false</jswarn>
            <webappDirectory>${project.build.directory}/minified</webappDirectory>
            <aggregations>
              <aggregation>
                    <insertNewLine>true</insertNewLine>
                <output>${project.build.directory}/${project.build.finalName}/js/abc-min.js</output>
                <includes>
                  <include>${basedir}/src/main/webapp/js/comments.txt</include>
                  <include>${project.build.directory}/minified/js/def.js</include>
                </includes>
              </aggregation>              
            </aggregations>
          </configuration>
        </plugin>       

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.2</version>
          <configuration>
            <warSourceExcludes>js/**/*.js,js/**/*.txt,css/**/*.css,css/**/*.txt</warSourceExcludes>
          </configuration>
        </plugin>       

      </plugins>
    </pluginManagement>
  </build>

我读过类似的帖子,但无法弄清楚为什么它不受“进程资源”的限制。阶段和目标是明确设置的,因此不确定为什么不调用它。有没有办法调试为什么在“mvn package”期间没有调用 yuicompressor-maven-plugin?我使用maven 2.2.1。也许我的 Maven 版本无法与该插件配合使用?

感谢您的帮助,

三马士

最佳答案

您只需要将插件管理区域的运行放入常用的插件区域中,例如:

<build>
  <plugins>
    <plugin>
      <groupId>net.alchim31.maven</groupId>
      <artifactId>yuicompressor-maven-plugin</artifactId>
      <version>1.3.0</version>
      ....
    </plugin>
  </plugins>
</build>

在pluginManagement中,您仅定义插件的默认值,特别是版本,但您实际上并不绑定(bind)到实际执行。对于其他插件等,这有效,因为它们已经在 superpom 的构建区域中定义,因此这使您有机会通过pluginManagement 重新定义它们,但不能使用从未属于任何构建区域的插件。

关于maven-2 - yuicompressor-maven-plugin 不受进程资源限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12203892/

相关文章:

java - 如何让 Maven 设置(并保持最新)我的 Eclipse 项目的构建路径?

java - 马文 : How to deploy with deploy-file and custom wagon

java - 在maven项目中添加文件夹

java - 在 pom.xml 中添加 json 依赖项出现错误

java - 如何在虚拟环境中使用 django-pipeline?

maven-2 - 如何使用 Maven 将第 3 方 OSGi bundle 添加到部署包中?

maven - 从 yaml 文件获取值到 pom.xml

java - Jenkins 设置失败 - 错误 "Non-resolvable import POM"

javascript - 有多少全局变量适合传递给 IIFE 包装器?

java - maven yui 压缩 war :war