`
jackrenming
  • 浏览: 16941 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

开始使用maven --万事开头难

阅读更多
上周看到springside里关于maven的介绍,决定开始使用maven。期间可谓历经磨难啊,(呜呜!这方面的中英文资料都相当的少,尤其是关于maven2的),下面把我的经历简列如下:
    1:资料
    强烈推荐张俊写的《用Maven简化你的项目管理》-http://www.blogjava.net/pesome/archive/2006/09/21/71045.html,看完这篇文章你基本就对maven有了相当的了解。IBM开发者网站上也有几篇好文章,《项目管理: Maven 让事情变得简单》(可惜讲得是maven1的内容,不过对了解maven的基本原理很有帮助)-http://www-128.ibm.com/developerworks/cn/java/j-maven/;要了解maven2于maven1的区别,可以看《Maven2 的新特性》-http://www-128.ibm.com/developerworks/cn/opensource/os-maven2/,还有《在 Eclipse 中利用 Maven》等等。当然maven的官方网-http://maven.apache.org/,E文好的自然是少不了要去遛达下的。除此之外如果你想对maven有个系统的学习的话,那么可以到http://www.mergere.com/m2book_download.jsp,去下载一本书《Better Builds with Maven》,内容非常新,非常系统,而且还是免费的!!(可惜现在太忙,如果有时间,真想找几个人一起翻译下,毕竟现在maven的中文资料实在是太少了)。
    2:实战
(1)关于Maven 2.x Plug-in for Eclipse插件的bug
我用的是eclipse,所以下了Maven 2.x Plug-in for Eclipse-http://maven.apache.org/eclipse-plugin.html。这个插件的使用非常简单,要了解基本操作可以看官方制作的demo Flash-http://m2eclipse.codehaus.org/Maven_2.0_Plugin_for_Eclipse.html。但是在使用0.09版的插件时碰到了头疼的问题,在Preferences里,无法打开maven2的preference page,出现“org.maven.ide.eclipse was unable to load class...”(具体见附件1)。工程里试验“Ennable”功能出现“The chosen opeartion is not currently available.”(具体见附件2)。而且很奇怪的是我试验的几台机器中,有两台可以,其它都不行(这是造成我无法迅速解决问题的很大原因)。接连排除了防火墙,杀毒软件,eclipse版本,jdk版本等后,还是没能找到原因。绝望中,我决定不用插件,直接用命令行,在一台插件不行的机器上用命令 mvn tese 随便下了些jar后,突然发现插件居然能用啦。经过彻查,这才发现原来都是默认的.m2目录惹得祸-这是乎是插件的bug,由于插件默认要求在${user.home}/要有.m2的目录(是放jar的仓库目录),插件自己居然不能初始化本地仓库目录;而且后面发现Preference里设置的Local repository folder根本不起作用!(由于命令mvn test 会初始化建立.m2目录,所以插件又能用了。)希望Maven 2.x Plug-in for Eclipse能够尽快更新,修复bug,免得打击maven粉丝的信心啊!当然目前你只好自己建仓库目录啦。除了前面说的利用maven命令方法(要下载maven,挺麻烦),最简单的是手动建。但是这里要注意,因为.m2里“.”是特殊符号,windows里不容许文件夹及文件的命名以此开头,因此要用dos命令:md .m2才行。
(2)关于建私服
如果你要建私服,那么要注意目录结构及文件的命名。比如有个依赖类包pom.xml里描述如下:
      <groupId>test</groupId>
      <artifactId>test</artifactId>
      <version>1.0</version>
那么服务器里放依赖类包的仓库目录下,应该这样建test\test\1.0\test-1.0.jar。
注意其中“-1.0”必不可少。而描述文件.pom及验证码文件.sha1,如果你嫌烦,可以不建,不会影响包的下载。
以上是我的一些拙见,但愿有人能够受益!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics