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 

相關文章
相關標籤/搜索