如何使用 yuicompressor-maven-plugin 让 Maven 用缩小的文件构建战争

2023-11-24

所以我正在尝试一些我认为相当简单的事情,我基本上希望 maven 在构建战争之前为我缩小所有 js 和 css 文件。我的插件看起来像这样:

         <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <extensions>true</extensions>
            <version>1.0.0</version>
            <configuration>
                <manifestLocation>META-INF</manifestLocation>
                <instructions>
                    <Export-Package>!test.impl,test*</Export-Package>
                    <Import-Package>*</Import-Package>
                    <!--
                       add ,plugin.xml if it's present i.e.
                       src/main/resources,plugin.xml
                    -->
                    <Include-Resource>src/main/resources</Include-Resource>
                </instructions>
            </configuration>
        </plugin>

        <plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>yuicompressor-maven-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compress</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <nosuffix>true</nosuffix>
            </configuration>
        </plugin>

问题是 YUI 插件确实正确地缩小了文件,但就在战争构建之前,它看起来像是复制了我的主源目录中的所有文件,从而消除了 YUI 插件所做的更改。

我通过以下方式调用 Maven:mvn compile war:war。我已经用不同的设置玩了一段时间,但到目前为止我还没有找到解决这个问题的方法。

我想要的是,在战争从 src 目录复制所需的文件后,它将运行 YUI 插件,但我尝试了 YUI 插件上的所有阶段排列,但这似乎没有任何效果不同之处。

我用谷歌搜索了一下,但到目前为止我读到的几乎所有内容似乎都表明我应该只需要像我一样将 YUI 插件放在那里,一切都会神奇地工作。到目前为止我似乎还没有发现其中的魔力。


接受的答案不起作用。

这个答案更好(正如 koga 在他的评论中指出的那样):https://stackoverflow.com/a/11495021/11451

这是我最终所做的:

第 1 步:缩小 css 和 js

<plugin>
    <groupId>com.samaxes.maven</groupId>
    <artifactId>minify-maven-plugin</artifactId>
    <version>1.7.2</version>
    <executions>
        <execution>
            <phase>prepare-package</phase>
            <goals>
                <goal>minify</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <charset>UTF-8</charset>
        <skipMerge>true</skipMerge>
        <cssSourceDir>resources</cssSourceDir>
        <jsSourceDir>resources</jsSourceDir>
        <jsEngine>CLOSURE</jsEngine>
        <nosuffix>true</nosuffix>
        <webappTargetDir>${project.build.directory}/minify</webappTargetDir>
        <cssSourceIncludes>
            <cssSourceInclude>**/*.css</cssSourceInclude>
        </cssSourceIncludes>
        <cssSourceExcludes>
            <cssSourceExclude>**/*.min.css</cssSourceExclude>
        </cssSourceExcludes>
        <jsSourceIncludes>
            <jsSourceInclude>**/*.js</jsSourceInclude>
        </jsSourceIncludes>
        <jsSourceExcludes>
            <jsSourceExclude>**/*.min.js</jsSourceExclude>
        </jsSourceExcludes>
    </configuration>
</plugin>

步骤2:用缩小的文件覆盖war中的css和js

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <webResources>
            <resource>
                <directory>${project.build.directory}/minify</directory>
            </resource>
        </webResources>
    </configuration>
</plugin>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 yuicompressor-maven-plugin 让 Maven 用缩小的文件构建战争 的相关文章

随机推荐

  • 在一个套接字上订阅多个多播组(Linux、C)

    是否可以在单个套接字上从多个多播组接收数据 例如 void AddGroup int sock const char mc addr str int mc port const char interface struct sockaddr
  • Ninject 使用 WCF Web API Preview 5

    有人能为我指出正确的方向 让 Ninject 与 WCF Web API Preview 5 一起使用吗 我已在我的 ASP NET MVC 3 项目以及使用 Ninject Extensions Wcf 库的另一个内部 WCF 服务中成功
  • 如何在 IE 中使用 javascript 从客户端获取文件大小?

    我使用了以下方法 HTML
  • Android,Glide 显示错误图像约一秒

    我正在使用 Glide 库从 URL 加载图像 这是我从 Graph Request Facebook 获得的 它用在 RecyclerAdapter 中 当我滚动时 每个 ImageView 显示错误的图片大约不到一秒 然后纠正一张 这是
  • 如何设置 DT_RPATH 或 DT_RUNPATH?

    在 Linux 上 ld so 8 手册页讨论了动态库的搜索顺序 它说DT RPATH已被弃用 并且还提到DT RUNPATH 没有提到 rpath链接器选项 The ld 1 手册页提到了 rpath and rpath link选项 但
  • 如何用 pandas DataFrame 中的前一个或下一个值替换 NaN?

    假设我有一个 DataFrame 其中包含一些NaNs gt gt gt import pandas as pd gt gt gt df pd DataFrame 1 2 3 4 None None None None 9 gt gt gt
  • 如何将 HTML 和文本复制到剪贴板?

    我试图同时放入 HTML 和纯文本的剪贴板片段 以便支持 HTML 的编辑器可以粘贴 HTML 而其他编辑器可以使用纯文本 Clipboard SetData DataFormats Html htmlWithHeader Clipboar
  • 在其父级边界之外显示用户控件内的控件

    我有一个带有文本框和列表框的用户控件 它使用它们为用户提供自动完成功能 但是 我希望将列表框绘制在用户控件边界之外 以便在必须将列表框绘制在用户控件边缘附近时不会被截断 关于如何做到这一点有什么建议吗 本质上 我想要一个列表框浮动在其容器控
  • Dart 中双数的正则表达式

    从我之前的问题来看 我试图只允许双精度格式的数字进入文本字段 我浏览了整个网络 没有找到 dart 的正则表达式 TextFormField inputFormatters WhitelistingTextInputFormatter Re
  • Android GridView像listview一样添加页眉和页脚

    也许你想打电话addHeaderView or addFooterView in GridView 它没有 我们自然希望将页眉视图或页脚视图添加到GridView 也许你和我一样苦苦寻找了很久 却最终没有找到解决办法 这里我给出一个解决方案
  • BCP 错误“无法打开 BCP 主机数据文件”

    我刚刚在我的 sqlserver 名称导出表中创建了一个新表 现在我尝试使用 cmd bcp 推出 但出现以下错误 SQLState S1000 NativeError 0 错误 Microsoft ODBC 驱动程序 13 对于 SQL
  • 蓝牙 LE 的 txPower 到底是什么以及如何使用它?

    我正在尝试了解 txPower 到底是什么以及如何使用它 因为我计划开发使用 Beacons 的 Android 应用程序 我在网上看到了2个定义 1 信标的发射功率 2 距信标1米处的接收功率 这两个定义有何关系 此外 当使用 Quick
  • 如何找到信号周期(自相关与快速傅里叶变换与功率谱密度)?

    假设有人想要找到给定正弦波信号的周期 从我在网上读到的内容来看 两种主要方法似乎采用傅里叶分析或自相关 我正在尝试使用 python 自动化该过程 我的用例是将这个概念应用于来自绕恒星运行的模拟物体的位置 或速度或加速度 时间序列的类似信号
  • 创建一副纸牌的最佳方法是什么?

    我正在考虑为纸牌游戏制作一副纸牌 我可以列出所有卡片 我并不真正关心花色 但我想知道是否有更简单的方法来做到这一点 cards 1 1 1 1 我确信你可以做一个for循环创建 4 张相同值的卡片并将其添加到列表中 但我想知道这是否是最佳解
  • ggplot2:如何在回归线上绘制小高斯密度曲线?

    我想以图形方式显示线性 以及后来的其他类型 回归的假设 如何在回归线上添加小高斯密度 或任何类型的密度 如下图所示 您可以计算沿拟合线的截面残差的经验密度 然后 只需使用以下方法在每个间隔中您选择的位置绘制线条即可geom path 要添加
  • 修改TFS流程模板以实现Nuget Package Restore

    我已从 MSBuild 包恢复迁移到自动包恢复 它会在构建开始之前恢复包 http docs nuget org docs workflows migration to automatic package restore 根据这篇文章htt
  • 防止 Fluent NHibernate select n+1

    我有一个相当深的对象图 5 6 个节点 当我遍历它的一部分时 NHProf 告诉我我遇到了 选择 N 1 问题 我确实这样做了 我知道的两个解决方案是 渴望负载的孩子 分解我的对象图 和急切加载 我真的不想做其中任何一个 尽管我可能会在以后
  • 具有两列组合的 SQLite 唯一键

    我试图确保当我运行以下查询时仅运行第一个INSERT INTO会起作用的 我知道我必须做slot UNIQUE 槽可以是 0 5 INTEGER 但这并不意味着该表只能接受 6 个表数据行 对于每个匹配的playerHash 它应该只允许6
  • 如何轻松找到Android类的源代码

    我知道我可以从以下位置访问 android 源代码https android googlesource com 但是如果我只知道包和 android 类的名称 就很难选择正确的 git 存储库 有没有办法找到文件https android
  • 如何使用 yuicompressor-maven-plugin 让 Maven 用缩小的文件构建战争

    所以我正在尝试一些我认为相当简单的事情 我基本上希望 maven 在构建战争之前为我缩小所有 js 和 css 文件 我的插件看起来像这样