论坛首页 综合技术论坛

关于Maven,不吐不快。

浏览 45227 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-18  
rasonyang 写道
maven2实际上挺好的。
用任何东西,都是双刃剑。关键要扬长避短。
1、用maven2,最好有自己的私服。
   比如,Spring 2.5.1,可能刚release,repo1.maven.org/maven2/不一定有。
   你可以install到你的私服去。
2、应该结合Ant
   很多maven不灵活的地方,可以用ant来解决
3、定义meta-inf的信息。
   开发OSGI的Bundle,就必须定义meta-inf信息。也可以定义自己的格式。
4、不要使用maven2相关的ide。
   实际上,多使用命令。比如mvn eclipse.然后,导入到eclipse工程。
   有更新,再执行mvn eclipse,在刷新工程就可以。
   我非常反对,过多的依赖IDE。单元测试比较难做,无法做到持续集成!
   题外话:我个人强烈倾向于调式,使用mvn jetty:run;
     数据库就用hsqldb,便于使用dbunit.
     毕竟,现在可以使用spring,jpa/hibernate.
     完全可以做到数据库无关性,应用服务器无关性。
5、依赖关系要设计好
   jar和jar之间的关系,package和package之间的关系,
    开发前,设计的时候就要规划好,不能什么都靠工具。工具不是万能的。
    尤其是开发OSGI bundle的时候,依赖关系一定要先设计好,
    一定要保证单向依赖性!

实际上,我使用maven,中间也遇到了一些问题,总的说来,帮助还是非常大。
尤其是,新来的开发人员搭建开发、测试环境、持续集成的时候,效果非常明显!
我也承认maven2是好的思路,但是实现得不好。
最重要的是,在新的工具出现前,我们只能选择它。
不过,可以结合IVY,ant,尽可能的扬长避短。



强烈同意!我使用maven2也快一年了,觉得很好用,没使用过ide集成的,都是敲命令行的,对单元测试什么的也有很好的支持。
0 请登录后投票
   发表时间:2008-03-24  
hehe,ide集成的插件不好用
但是可以用eclipse生成一个maven的外部工具,工具里添加eclipse:eclipe等命令就可以了,另外可以按需要加入ant:ant然后用ant来执行其他步骤。
一个外部工具都可以搞定了
0 请登录后投票
   发表时间:2008-03-25  
引用

Maven N宗罪:
在公司内开发项目时,类库定下来后,为了稳定基本也不会升级了,所以它的最大优势体现不出来
需要搭建私服,简直没事找事儿
插件比Ant少
学习成本高
强制用它的目录结构
与IDE集成不好
配置麻烦

0 请登录后投票
   发表时间:2008-03-25  
工具不是应该越简单越容易上手越好么?

0 请登录后投票
   发表时间:2008-04-16  
从来都用myeclipse不知ant啥的是何物
0 请登录后投票
   发表时间:2008-08-13  
MarkDong 写道
Maven2的功能还是很好用的,配合artifactory这一完美的私服,简直所向无敌了。
楼主所说的各种问题其实还是没有充分挖掘pom的配置,例如要屏蔽某个包中对其它包的低版本的依赖,你可以通过<exclusion>标签来实现。对于pom配置标签的说明光看apache的文档是不够的,最好还是多看看其它包的pom文件,例如spring的pom配置文件,你会发现很多你原来不知道但是很有用的配置标签。



看来老兄对maven把握的很好嘛,偶最初用ant,曾经一度用过make,之后,所有项目全部迁移到maven。偶现在是不会再回去用ant了,如果某个问题maven解决不了,你自己写个mojo,远比ant来的快的多。当然,偶也承认ant很强大,而且,超级强大,也是偶的N种武器之一。可以利用ant+ivy模仿maven,但是也仅仅是mock而已。

maven很强大,只不过学习曲线比较陡,这个倒是事实,但是只要你掌握了,它立刻成为你的N种武器之一。
0 请登录后投票
   发表时间:2008-08-18  
jobs 写道

maven和svn都是趋势!享受他们带来好处的同时,但是得承受他现状的不足所带来的痛苦,但是慢慢一切都在变好。


我没觉得,我感觉一个团队如果在非常有钱的公司里,用maven很不错,可以体现出版本管理人员的价值,但如果所在的公司没有那么有钱,还是ant这种简单明了的工具比合适。
0 请登录后投票
   发表时间:2008-08-26  
cyberblue 写道
jobs 写道

maven和svn都是趋势!享受他们带来好处的同时,但是得承受他现状的不足所带来的痛苦,但是慢慢一切都在变好。


我没觉得,我感觉一个团队如果在非常有钱的公司里,用maven很不错,可以体现出版本管理人员的价值,但如果所在的公司没有那么有钱,还是ant这种简单明了的工具比合适。

恩,这么说来,maven就是浪费钱的东西(ant能做,maven也能做,唯一的优点是支付给员工的工资更高)
0 请登录后投票
   发表时间:2008-08-27  
murainwood 写道
cyberblue 写道
jobs 写道

maven和svn都是趋势!享受他们带来好处的同时,但是得承受他现状的不足所带来的痛苦,但是慢慢一切都在变好。


我没觉得,我感觉一个团队如果在非常有钱的公司里,用maven很不错,可以体现出版本管理人员的价值,但如果所在的公司没有那么有钱,还是ant这种简单明了的工具比合适。

恩,这么说来,maven就是浪费钱的东西(ant能做,maven也能做,唯一的优点是支付给员工的工资更高)


也不一定,如果只用maven的默认功能,而且有人(稍微懂一点maven就可以)负责把别人的maven设置好,就没有必要花钱雇maven管理员,但是要保证默认功能足够用,如果开发人员提出一些比较苛刻的要求,那么还是暂时不要用maven的好。

实际上如果你写过ant脚本,你就发现后期写的ant脚本基本上都是重复前面的,开始一个新项目的时候也是找出以前的脚本抄一遍,一些人需要maven也是因为这个。
0 请登录后投票
   发表时间:2008-08-27  
谢谢楼主发起这个讨论,我感觉从各位的回复中学到很多自己原来不了解的东西。
我很喜欢使用maven。一个开发团队是需要有个自己的repository服务器。
如果有网上无法下载的jar包,肯定不能直接拷到自己机器上就了事了。应该上传到服务器上供开发团队通过maven下载。
像包的依赖关系,打发布包时需要哪个jar包,不需要哪个jar包,需要哪个版本的,哪些包是调试程序时需要但打包时就不用的。这些用maven管理减少了很多出错的机会。
在有相互依赖的多个工程的情况下,maven也帮了大忙。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics