如何让maven yuiccompressor和tomcat插件发挥良好
How to get maven yuicompressor and tomcat plugins to play nice
我想压缩我所有的javascript文件和聚合它们使用yuiccompressor,我看到有一个maven插件允许我来做这个。我让它大部分工作。
我也使用Mojo tomcat插件以及。当我去跑Tomcat:运行目标,Tomcat不读取目标的输出目录(这是YUI压缩器放置我的javascript文件的地方)而是从我的"src/main/"中的实际源文件中读取webapp/脚本"目录。当然是聚合的javascript文件(all.js)不存在
我有几个问题。
-
我如何让tomcat插件读取目标的输出文件夹yui压缩机插件创建?
-
我必须运行yui压缩器maven目标每次我想在开发期间更新我的javascript文件?
-
有更好的方法来实现这一点吗?基本上,我的最终目标是能够开发JavaScript和测试我的源文件开发模式,但我想压缩和聚合的文件和当应用程序在生产环境中运行时,使用
all.js
脚本模式。
虽然Rails的人已经弄清楚了这一点,但这似乎对于Maven和Spring来说,这是一件非常重要的事情。
我将感谢任何和所有的帮助,我如何才能得到这个正确地运行。谢谢!
我只是在调查这个问题,并通过查看插件文档找到了我的答案。
mvn tomcat:run -将当前项目作为动态web应用程序运行
这实际上意味着当嵌入的tomcat运行时,还没有到达包执行阶段。
回答 是用:
mvn tomcat:run-war -将当前项目作为打包的web运行
这允许maven构建打包WAR文件,因此允许 yuiccompressor -maven-plugin在嵌入式tomcat启动之前做它需要做的事情。
由于每次都必须运行它,您应该将yui插件的运行附加到"generate-sources"执行阶段。
将以下内容添加到你的插件中(重要的部分是将"phase"元素附加到生命周期中):
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>...</configuration>
</plugin>
这样,插件将在生成源代码阶段运行每个构建。所以,当你改变了java脚本(你已经配置了插件),输出的。js文件将会更新,只要你运行如下命令:
mvn compile
mvn test
mvn install
mvn package
等等
以上确实会导致在生命周期的早期创建最小化(可能是聚合的)文件,但是tomcat:run无法找到它们!
- 如何在Angular2中使用jQuery插件
- 可以前端maven插件使用节点,npm已经安装
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- TableExport jquery插件:文件名和扩展名问题
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- jQuery插件-从插件中调用公共方法
- 压缩phonegap中ios的图像插件
- jQuery粘性插件可变顶部间距
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 高亮显示与数组字符串一起使用时文本插件中断
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Wordpress插件根据需要加载js和css
- jQuery Wan Spinner插件的多个字段
- jQuery Facebox插件:关注弹出的外观
- CKEditor v4:自制插件中对话框的动态标题
- YUI Compressor Maven插件在错误的时间执行,tomcat插件没有使用YUI - Compressor输
- 如何让maven yuiccompressor和tomcat插件发挥良好