Mac 10.7 使用Maven 小记

前先后后搞了3天,先是装插件,我发现最近,新下的eclipse3.7在market里装m2e插件老是报missing slf4j.jar的错误,因而我google了找了个m2e离线包,以link的方式安装。接着,各类奇葩的问题便出现了。html

首先在Mac10.7下(mac10.7)导入公司的maven项目后发现老是missing artifact,但我明明把缺乏的包从公司拷过来的说。java

后来通过google baidu,查看了本身eclipse,java的classpath,(Preference -> Java -> Build Path -> Classpath Variables) :app

个人M2_REPO 的值居然是eclipse

/User/current_user/coding/eclipse/Eclipse.app/Contents/MacOS//.m2/repositorymaven

也就是说,个人eclipse的m2e插件将个人仓库定位错了,帮我定位到eclipse里了。ui

但个人.m2/settings.xml 和 maven_home/conf/settings.xml里的<localRepository>节点没有写错,确实是写了~/.m2/repository,example就是这么写的。而后我想着索性将~写成/User/current_user/.m2/repository 结果可想而知,M2_REPO变成了google

/User/current_user/coding/eclipse/Eclipse.app/Contents/MacOS/User/current_user/.m2/repositoryspa

奇怪的是,我在osc上提问时,也有个10.7的大神但他却很正常,没发生我这种奇葩状况。。.net

不过今早把问题解决了,若是和我同样用mac也发生这种状况的话,就吧2个settings.xml的<localRepository>节点注释掉吧!不写的话,仓库就默认定位到~/.m2里了,缺点是没法自定义仓库地址了。插件

 

顺便作个将公司代码带回家遇到问题的总结:

1,最好将maven_home/conf 和 本地仓库的 settings.xml保证同样,由于,至少我遇到了maven2种插件,有的以maven_home/conf 的settings.xml为准,有的以本地仓库的为准。

2,若是公司有本身的maven私服的话,jar包的pom里的地址是指向私服地址的。因此必须吧公司的settings.xml给拷回来,主要是为了配置原来公司私服的profile地址,以避免从公司拷过来的jar包由于没有其源地址而形成eclipse对明明存于仓库的jar包而报missing artifact 的错误。 这种jar包的本地仓库通常会有m2e-lastUpdated.properties 这种文件,以证实此jar包来自私服。。

 

发现一篇很好的Maven入门文章:

http://www.blogjava.net/jiangshachina/archive/2006/09/01/67080.html 

相关文章
相关标签/搜索