首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用minify-maven-plugin缩小前端

使用minify-maven-plugin缩小前端
EN

Stack Overflow用户
提问于 2016-03-31 17:03:00
回答 2查看 2.4K关注 0票数 5

我正在使用maven插件minify-maven-plugin来缩小我的前端项目。当我将dos框转到前端项目并执行mvn clean install时,这很好,但是当我在反应堆项目的主pom中执行mvn clean install时,我会得到以下例外:

未能在项目my.project上执行目标com.samaxes.maven:minify-maven-plugin:1.7.4:minify (默认-minify)--前端:执行默认--目标com.samaxes.maven:minify-maven-plugin:1.7.4:minify的最小化失败: basedir ./src/main/resources/public/app/。不出

有人知道该怎么做才能让这件事成功吗?

下面是相关的插件配置:

代码语言:javascript
复制
<!-- minify plugin -->
    <plugin>
        <groupId>com.samaxes.maven</groupId>
        <artifactId>minify-maven-plugin</artifactId>
        <version>1.7.4</version>
        <executions>
          <execution>
            <id>default-minify</id>
            <phase>prepare-package</phase><!-- When omitted defaults to 'process-resources' -->
            <configuration>
              <charset>UTF-8</charset>
              <skipMerge>true</skipMerge>
              <nosuffix>true</nosuffix>
              <closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
              <webappSourceDir>src/main/resources/public/app</webappSourceDir>
              <webappTargetDir>${project.build.outputDirectory}/public/app</webappTargetDir>

              <cssSourceDir>./</cssSourceDir>
              <cssSourceIncludes>
                <cssSourceInclude>**/*.css</cssSourceInclude>
              </cssSourceIncludes>

              <jsSourceDir>./</jsSourceDir>
              <jsSourceIncludes>
                <jsSourceInclude>**/*.js</jsSourceInclude>
              </jsSourceIncludes>

              <jsEngine>CLOSURE</jsEngine>
            </configuration>
            <goals>
              <goal>minify</goal>
            </goals>
          </execution>
        </executions>
    </plugin>
 <!-- minify plugin end -->
EN

回答 2

Stack Overflow用户

发布于 2016-04-02 21:14:39

我能够重现您的问题,并通过更改下面的配置条目来修复

代码语言:javascript
复制
<webappSourceDir>src/main/resources/public/app</webappSourceDir>

代码语言:javascript
复制
<webappSourceDir>${project.basedir}/src/main/resources/public/app</webappSourceDir>

也就是说,添加标准的${project.basedir}属性作为前缀。

这样,构建就成功了,不仅是模块本身,也是父模块(反应堆/聚合器构建)。

由于有了这个前缀,反应堆构建将正确地解析路径,在构建过程中指向当前的基本目录(相关模块之一)。

来自官方Maven Builder模型文档

{project.basedir}包含pom.xml文件的目录

因此,反应器构建将替换每个模块的这个属性,指向包含模块pom.xml文件的目录(因此是模块的目录)。在直接从模块执行构建时,它也将正常工作,显然是指向当前目录。

还请注意:${basedir}也可以工作,但对project.basedir不推荐,因此使用后者更好。

票数 7
EN

Stack Overflow用户

发布于 2016-05-31 16:16:07

你可以把它缩小为:

代码语言:javascript
复制
<plugin>
            <groupId>com.samaxes.maven</groupId>
            <artifactId>minify-maven-plugin</artifactId>
            <version>1.7.4</version>
            <executions>
               <execution>
                  <id>minify-css</id>
                  <configuration>
                     <charset>utf-8</charset>
                     <skipMerge>true</skipMerge>
                     <statistics>true</statistics>
                     <cssSourceDir>css</cssSourceDir>
                     <cssTargetDir>css/min</cssTargetDir>
                     <cssSourceIncludes>
                        <cssSourceInclude>*.css</cssSourceInclude>
                     </cssSourceIncludes>
                  </configuration>
                  <goals>
                     <goal>minify</goal>
                  </goals>
               </execution>
               <execution>
                  <id>minify-js-cfl</id>
                  <configuration>
                     <charset>utf-8</charset>
                     <skipMerge>true</skipMerge>
                     <statistics>true</statistics>
                     <jsSourceDir>js/xyz/modules/cfl</jsSourceDir>
                     <jsTargetDir>js/xyz/modules/cfl/min</jsTargetDir>
                     <jsSourceIncludes>
                        <jsSourceInclude>*.js</jsSourceInclude>
                     </jsSourceIncludes>
                  </configuration>
                  <goals>
                     <goal>minify</goal>
                  </goals>
               </execution>
               <execution>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36339487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档