大家都用什么Maven插件?及本人的几个常用插件分享
两个月前我只是一直知道有Maven,但从来没用过也没这个计划,直到我们的jar又多又乱,到了不理不行的地步的时候,我想到了Maven。
为了正统,我直接到Apache/Sonatype上去找资料,发现Sonatype(http://www.sonatype.com/)所提供的文档最为劲爆,很快就可以掌握Maven的使用,其中的Sonatype-maven-by-example.pdf最为直接,从单个简单项目到多项目管理,再到多项目管理的优化,无所不谈,我相信大家通过这个文档的系统学习,肯定能跟我那样,入门绝对不是问题。
我所用到的插件,拿出来晒一下,好做交流,其实用的还是很基本的能力:
1、maven-surefire-plugin:单元测试用。用法举例:
因为我们设计一个applet的子项目,需要拷贝一些资源过来,而不是造成交叉依赖——大家说不定有更好的办法。
4、maven-war-plugin:webapp的必备插件,用来打包war。用法举例:<plugin><groupId>net.israfil.mojo</groupId><artifactId>maven-flex2-plugin</artifactId><version>${flex.plugin.version}</version><executions> <execution> <id>copy-flex-resources</id> <phase>process-classes</phase> <goals><goal>copy-flex-applications</goal></goals> <configuration> <modules> <swfModule> <groupId>project.groupId</groupId> <artifactId>account-selector</artifactId> <targetPath>${project.build.directory}/flex-resources/swf</targetPath> <targetFilename>Accountselector.swf</targetFilename> </swfModule> </modules> </configuration> </execution></executions></plugin>20 楼 ka520888 2011-01-28 晕啊.全是牛人..偶不会啊...哭 21 楼 linvar 2011-01-28 itstarting 写道linvar 写道断断续续在接触maven,一直没入门...
希望下一个项目能用上,
再接触接触...
我要入门,我要入门...
照着Sonatype-maven-by-example.pdf全部做一遍,再思考总结一下,肯定能入门
谢谢分享这个pdf
其实我一直有在看maven的官网上的document
就是感觉太复杂,概念太多,还在接触中,sonatype这个网站第一次看到,希望有用
22 楼 folie2006 2011-01-28 指定编译那个可以加上个编码,要不maven默认是GBK。。。UTF-8的项目就打不成了。。 23 楼 adaikiss 2011-01-28 folie2006 写道指定编译那个可以加上个编码,要不maven默认是GBK。。。UTF-8的项目就打不成了。。
默认应该是OS编码吧
24 楼 wjcbigwjc 2011-01-28 都有用最好的还是 25 楼 cue2008 2011-01-28 基本上maven自带的插件就够用了,现在IDE开发速度比插件开发速度要快。 26 楼 keer2345 2011-01-30 引用发现Sonatype(http://www.sonatype.com/)所提供的文档最为劲爆,很快就可以掌握Maven的使用
楼主是个牛人,我怎么看都看不出maven的文档有那么好,也没那么快的速度来掌握maven,哎,差距真大 27 楼 keer2345 2011-01-30 huhuanqadn 写道直接用myeclipse的,带了m2的支持。用着挺爽的。
当然myeclipse是中国特色版
直接开搞IntelliJ IDEA 28 楼 itstarting 2011-01-30 我其实不是很理解大家为什么觉得用上了Maven就成了牛人
其实Maven就是一个插件平台+一个生命周期理论
我认为只要关注Maven的每一个人,都能根据Sonatype提供的文档达到足够入门的程度——不要过分追求技术化,比如动不动就自行开发插件啥的
我这个帖子的初衷还是讨论插件——Maven的两大核心之一。
当然了,如果大家有闲情,也可以讨论下这个生命周期理论下的相关心得 29 楼 unsid 2011-01-31 itstarting 写道unsid 写道再推荐俩
cobertura,生成测试覆盖率报告的
cargo,自动部署到远程服务器的
第一个有点意思,学习下
第二个感觉意义不大,真部署的话,还是手动部署的放心,而平时顶多就是集成调试下
比如你定时每天凌晨3点由hudson执行任务,从svn检出代码,编译,测试,生成报告,把报告发到程序员邮箱里,然后程序打包,将包部署到测试服务器,重启服务器这一串过程
第二天程序员一早上习惯性先首邮件,发现测试有错误修改代码,然后再点点测试服务器上的最新版本系统,没问题就开始今日的代码编写,如果没有cargo,靠maven deploy插件命令只能把包部署到私服上,不能到指定服务器的指定目录,整个链条到最后一步就断了。
30 楼 itstarting 2011-02-01 unsid 写道itstarting 写道unsid 写道再推荐俩
cobertura,生成测试覆盖率报告的
cargo,自动部署到远程服务器的
第一个有点意思,学习下
第二个感觉意义不大,真部署的话,还是手动部署的放心,而平时顶多就是集成调试下
比如你定时每天凌晨3点由hudson执行任务,从svn检出代码,编译,测试,生成报告,把报告发到程序员邮箱里,然后程序打包,将包部署到测试服务器,重启服务器这一串过程
第二天程序员一早上习惯性先首邮件,发现测试有错误修改代码,然后再点点测试服务器上的最新版本系统,没问题就开始今日的代码编写,如果没有cargo,靠maven deploy插件命令只能把包部署到私服上,不能到指定服务器的指定目录,整个链条到最后一步就断了。
好家伙,当backend的自动化服务啊,这种非得要大型项目不可。
我们买了Jtest,干的类似的活,但由于目前主要跑code review——》生成报告——》邮件分发,所以还不需要自动化部署,不过你的idea不错,可以参考,这样就可以跑runtime的自动化测试了