2007-05-24
大家一起来谈谈Maven吧
关键字: maven
个人接触Maven也有很长的一段时间了,最近终于经不起maven的诱惑下定决定把公司的基础构件库整体迁移到maven构建环境中来(公司一直采用微软的VSS做版本控制,非常不便于重构,而且管理的项目太多,速度实在是不堪忍受),感觉有以下几点好处:
1、对类库的集中管理及传递依赖,只需要将POM配置文件进行版本控制就可以了,版本库中的项目体积减少了80%以上,异常地清爽;
2、项目配置文件的重用度比较高,而且支持继承;
3、对整个项目开发生命周期的完整支持,从头到尾只需要几个简单的命令就可以快速地遍历整个开发周期,减轻了配置管理的工作量;
4、自动化文档、站点报告生成发布以及丰富的工具扩展和集成,这点尤其重要;
另外在团队协作开发的推广过程中也遇到了一些问题,其中最头痛的问题就是每个开发人员必须学习Maven,尽管只需要了解简单的mvn eclipse:eclipse命令,另外就是对Web项目的支持力度不够,目前公司大部分开发人员都是使用MyEclipse来构建Web项目,如果要将Maven自动生成的ClassPath和MyEclipse的项目配置文件整合起来使用,目前只能通过手工编辑ClassPath的方式进行,这点感到比较郁闷,也是开发人员抵触Maven的重要原因。
总体来说,maven还是一个值得花时间学习的配置管理工具,希望能听到大家对于maven的看法以及使用经验和心得。
1、对类库的集中管理及传递依赖,只需要将POM配置文件进行版本控制就可以了,版本库中的项目体积减少了80%以上,异常地清爽;
2、项目配置文件的重用度比较高,而且支持继承;
3、对整个项目开发生命周期的完整支持,从头到尾只需要几个简单的命令就可以快速地遍历整个开发周期,减轻了配置管理的工作量;
4、自动化文档、站点报告生成发布以及丰富的工具扩展和集成,这点尤其重要;
另外在团队协作开发的推广过程中也遇到了一些问题,其中最头痛的问题就是每个开发人员必须学习Maven,尽管只需要了解简单的mvn eclipse:eclipse命令,另外就是对Web项目的支持力度不够,目前公司大部分开发人员都是使用MyEclipse来构建Web项目,如果要将Maven自动生成的ClassPath和MyEclipse的项目配置文件整合起来使用,目前只能通过手工编辑ClassPath的方式进行,这点感到比较郁闷,也是开发人员抵触Maven的重要原因。
总体来说,maven还是一个值得花时间学习的配置管理工具,希望能听到大家对于maven的看法以及使用经验和心得。
- 22:36
- 浏览 (6503)
- 评论 (20)
- 分类: Technical Note
- 进入论坛
- 相关推荐
评论
javachs
2007-06-21
如果这个东西好用,我还是很有兴趣的,我一直不习惯ant的配置格式,太别扭了.
pupi
2007-06-19
一根筷子 写道
项目中用了一下maven2,莫名其妙的把jboss包给下来了,不知道哪个引用到了,
还有怎么把maven2下的包排序阿,默认的是不排序,很不爽
还有怎么把maven2下的包排序阿,默认的是不排序,很不爽
应该是你显示的设置了对某个jar(在maven中叫artifact)的依赖,但是该jar又依赖那个jboss的包。
诺铁
2007-06-14
下载一个proximity http://proximity.abstracthorizon.org/
看看它的文档。
在内网找个服务器装上它,找个能上网的机器把你要用的jar下载下来,然后部署到这个maven代理服务器上,然后配置开发人员机器上的maven,让他们访问代理服务器就可以了。具体的看maven2的文档里面都有写。
看看它的文档。
在内网找个服务器装上它,找个能上网的机器把你要用的jar下载下来,然后部署到这个maven代理服务器上,然后配置开发人员机器上的maven,让他们访问代理服务器就可以了。具体的看maven2的文档里面都有写。
boogie
2007-06-14
maven-proxy能在具体谈谈吗?
在内网怎么用maven?
在内网怎么用maven?
letle
2007-06-14
个人仅仅用maven管理类库,至于项目配置方面使用CVS/WinCVS。
一根筷子
2007-05-31
项目中用了一下maven2,莫名其妙的把jboss包给下来了,不知道哪个引用到了,
还有怎么把maven2下的包排序阿,默认的是不排序,很不爽
还有怎么把maven2下的包排序阿,默认的是不排序,很不爽
诺铁
2007-05-25
这种同类库不同版本的问题其实不是maven的问题。而且更加凸现出依赖管理的重要性。
Sunteya
2007-05-25
maven 现在最大的问题是 各种类库对于jar包依赖的写法 可能不同
比如 hibernate 他会依赖 cglib 而 cglib 又会依赖 asm 1.5
但 spring 会依赖 cglib-nodep, spring 2.0 又依赖了 asm 2
这个就造成了 项目会同时 依赖 asm 1.5 和 2.0 然后就会有写莫名奇妙的错误了。
至于 myeclipse么,打包发布什么的maven 都搞定了,运行么eclipse内用 jetty 或者 resin。语法提示么 用WTP也就好了。感觉 myeclipse 没有什么必要在用了。
比如 hibernate 他会依赖 cglib 而 cglib 又会依赖 asm 1.5
但 spring 会依赖 cglib-nodep, spring 2.0 又依赖了 asm 2
这个就造成了 项目会同时 依赖 asm 1.5 和 2.0 然后就会有写莫名奇妙的错误了。
至于 myeclipse么,打包发布什么的maven 都搞定了,运行么eclipse内用 jetty 或者 resin。语法提示么 用WTP也就好了。感觉 myeclipse 没有什么必要在用了。
dengyin2000
2007-05-25
wtp像是myeclipse的一个子集。 myeclipse越搞越大 现在简直不像话了。 我已经用过3.8版的 现在就飙到5。5了
诺铁
2007-05-25
lee5593 写道
dengyin2000 写道
maven 对wtp有支持。 把myeclipse 人掉吧。
maven eclipse:eclipse -Dwtpversion=1.0
maven eclipse:eclipse -Dwtpversion=1.0
公司使用MyEclipse的人太多了,习惯的力量是可怕的
这句正解。
我也正在使用maven,依赖管理实在是太有吸引力。在公司服务器上装个proxy,管理多个相关的项目很好。
不过用了不久,经验缺乏,还有不少问题,最好有个专门的小版来讨论讨论。
lee5593
2007-05-25
dengyin2000 写道
maven 对wtp有支持。 把myeclipse 人掉吧。
maven eclipse:eclipse -Dwtpversion=1.0
maven eclipse:eclipse -Dwtpversion=1.0
公司使用MyEclipse的人太多了,习惯的力量是可怕的
dengyin2000
2007-05-25
maven 对wtp有支持。 把myeclipse 人掉吧。
maven eclipse:eclipse -Dwtpversion=1.0
maven eclipse:eclipse -Dwtpversion=1.0
lordhong
2007-05-25
楼上大哥台湾同胞?
DraculaCwg
2007-05-25
誤post,恕刪
DraculaCwg
2007-05-25
lee5593 写道
Apache官方网站上关于远程部署提及了5种方案,分别是FILE、SSH2、SFTP、Extenal SSH和FTP,用的比较多的是SSH方式,可惜我还没配置成功
後來我都直接在本機用,採file的方式
還有中文環境下,linux會比windows來的正常一些,因為linux都是utf-8的
在windows下,產出的文件編碼都不是很正常,雖然多都plugins都可以設定encoding
但有的設了,會影響另一個,所以,還是把maven server架在linux會比較正常
在順道加上一個internal repository,這樣就很好用了
因為很多jar檔不見得會被deploy到maven官方的repository
而且很多jar檔都沒source跟javadoc,這大概是很maven比較不爽的地方
lee5593
2007-05-25
rockmaple 写道
自己一个人开发用Maven也很爽,mvn jetty:run一下就可以看结果了,就是网速慢的话用maven太郁闷
网速慢的话,第一次下载是比较慢,不过也只需要郁闷一回,设个maven-proxy,然后将更新策略设置一下,速度会快很多,具体设置如下:
################ SNAPSHOT HANDLING #If you want the proxy to look for newer snapshots, set to true snapshot.update=false ################ M2 METADATA HANDLING #If you want the proxy to prevent looking for newer metadata, set to false (default is true) metadata.update=false ################ M2 POM HANDLING #If you want the proxy to look for newer POMs, set to true (default is false) pom.update=false
rockmaple
2007-05-25
自己一个人开发用Maven也很爽,mvn jetty:run一下就可以看结果了,就是网速慢的话用maven太郁闷
lordhong
2007-05-25
SSH... 头疼...
lee5593
2007-05-24
Apache官方网站上关于远程部署提及了5种方案,分别是FILE、SSH2、SFTP、Extenal SSH和FTP,用的比较多的是SSH方式,可惜我还没配置成功
lordhong
2007-05-24
maven仅管理dependency这点就很值得推荐.
mvn eclipse:eclipse/idea:idea, 还有doc, site等等, 自动管理项目确实感觉很爽.
:) 目前想自动remote deployment, 是不是通过ant来实现?
请有经验的大牛不吝赐教...........
mvn eclipse:eclipse/idea:idea, 还有doc, site等等, 自动管理项目确实感觉很爽.
:) 目前想自动remote deployment, 是不是通过ant来实现?
请有经验的大牛不吝赐教...........
- 浏览: 27442 次

- 详细资料
搜索本博客
最新评论
-
IE7下不同用户会共享同一 ...
问题的根源是浏览器的"TAB机制"引起的, 治本的满足客户的“需求”,应该动浏览 ...
-- by blowfisher -
IE7下不同用户会共享同一 ...
总结下解决办法: 1一种,在后台使用单session针对一个机器(IP),然后 ...
-- by jianfeng008cn -
IE7下不同用户会共享同一 ...
flxi78 写道看来原理决定了实在没有简介的解决方案啊。 不过第一种解决方案, ...
-- by janh -
IE7下不同用户会共享同一 ...
看来原理决定了实在没有简介的解决方案啊。 不过第一种解决方案,还能有简单的方式么 ...
-- by flxi78 -
IE7下不同用户会共享同一 ...
基于这样一种考虑: 在同一窗口的不同页签中用相同的url(包括后面的参数)运行出 ...
-- by janh






评论排行榜