Terry.Li-彬

          虛其心,可解天下之問(wèn);專(zhuān)其心,可治天下之學(xué);靜其心,可悟天下之理;恒其心,可成天下之業(yè)。

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            143 隨筆 :: 344 文章 :: 130 評(píng)論 :: 0 Trackbacks
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(19)

          隨筆分類(lèi)(107)

          隨筆檔案(141)

          文章分類(lèi)(284)

          文章檔案(342)

          相冊(cè)

          收藏夾(58)

          家裝

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          前段時(shí)間研究過(guò)一下maven,中途因?yàn)楣ぷ髅R置了一段時(shí)間,重新再看時(shí)發(fā)現(xiàn)安裝過(guò)程基本忘光。只好找資料看然后再來(lái)一遍,將maven,artifactory和m2eclipse安裝使用的全過(guò)程記錄整理出來(lái),備忘。另外我想這些資料應(yīng)該比較適合maven的入門(mén)新手,照做一遍就可以完成三個(gè)東西的安裝設(shè)置,然后就可以學(xué)習(xí)和使用了。

          一. 安裝maven
              安裝官方標(biāo)準(zhǔn)的安裝方式(http://maven.apache.org/download.html#Installation)安裝,步驟如下
              1. 下載解壓縮apache-maven-2.0.9-bin.zip到安裝目錄
              2. 增加環(huán)境變量M2_HOME,指向maven的安裝目錄,注意不能以"\"結(jié)尾
              3. 增加(可選)maven環(huán)境變量MAVEN_OPTS,值為"-Xms256m -Xmx512m",后續(xù)可以增加其他
              4. 修改Path,增加%M2_HOME%/bin到Path路徑中
              5. 確保JAVA_HOME環(huán)境變量存在并正確設(shè)置,確保%JAVA_HOME%/bin目錄在Path路徑中
             
              安裝完畢后,在命令行執(zhí)行"mvn --version"檢測(cè)maven是否正確安裝。
             
              補(bǔ)充:
              1. 如果是使用代理上網(wǎng),需要在maven的配置文件加入相應(yīng)的代理信息
                  否則會(huì)報(bào)錯(cuò):
                  The pulgin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or valid version could be found
                  ......
                  解決方法:
                  打開(kāi)文件 maven/conf/settings.xml,找到<proxies>,將原來(lái)注釋掉的<proxy>打開(kāi),修改相應(yīng)的信息即可。
                  注意:
                  1.)<host>iproxy-sh.cn.ao.ericsson.se</host> 這里不要用"http://"開(kāi)頭,否則會(huì)無(wú)法連接
                  2. ) 如果用戶(hù)名、密碼不需要,可以刪除<username><password>,設(shè)置為空也行。
                 

          二. 安裝Artifactory

              按照官方文檔,http://wiki.jfrog.org/confluence/display/RTF/Installing, 標(biāo)準(zhǔn)安裝,簡(jiǎn)單說(shuō)就是三步:
              1. 下載并解壓縮最新版本的artifactory-1.3.0-beta-2.zip
              2. 雙擊bin目錄下的artifactory.bat文件,啟動(dòng)artifactory。
                  注意必須保證JAVA_HOME正確設(shè)置,并且jdk的版本是5.0或更高。
              3. 用瀏覽器打開(kāi)http://localhost:8081/artifactory,使用admin/password登錄
             
              配置Artifactory,在Artifactory安裝目錄下的etc目錄下,比較常用的是修改jetty.xml中的端口設(shè)置,將默認(rèn)的8081端口
              修改為其他。還有如果Artifactory是需要使用代碼連接網(wǎng)絡(luò),需要修改artifactory.config.xml中的proxies。
             
          三. 安裝m2eclipse插件
             
              參照官網(wǎng)文檔http://m2eclipse.codehaus.org/。
              找了一下沒(méi)有zip下載,只能用eclipse通過(guò)update site下載安裝,無(wú)法使用我最喜歡的link方式,有些遺憾。
              安裝地址如下:
                  http://m2eclipse.sonatype.org/update/
              更新后會(huì)自動(dòng)變成三個(gè)site,一個(gè)不可用,另外兩個(gè)版本同步,有新舊兩個(gè)版本可以選擇,當(dāng)然選最新的一個(gè)200807**的版本。
             
              安裝好后,就可以使用m2eclipse插件為項(xiàng)目增加pom.xml文件了。有了m2eclipse的圖形界面使得操作顯得很簡(jiǎn)單,容易理解和掌握。

          update 20081128:
              升級(jí)操作系統(tǒng)到vista,jdk到6.7,eclipse到3.4后,安裝新版本的maven,一切正常,但是啟動(dòng)時(shí)會(huì)彈出窗口,說(shuō)maven
          需要eclipse在jdk下運(yùn)行,而不應(yīng)該是jre(奇怪以前安裝時(shí)怎么沒(méi)有這種要求,難道是新版本引入的新功能?)。按照提示給出的建議進(jìn)行以下操作:

          1.要求修改eclipse.ini文件
              加入兩行代碼,注意不要寫(xiě)在一行,否則無(wú)法生效。
              -vm
              C:\aoxj\soft\java\jdk\jdk67\bin\javaw
          2.設(shè)置installedJRE
              直接進(jìn)入eclipse的設(shè)置,在installedJRE中加入新的jre指向jdk,然后將默認(rèn)的jre刪除。
             
          四. 技巧小結(jié)
              這幾天的摸索中,發(fā)現(xiàn)一些maven和m2eclipse的使用小技巧,總結(jié)下來(lái)主要有以下幾點(diǎn):
             
              1. repositories設(shè)置不要放到項(xiàng)目的pom.xml文件中
                  在使用Artifactory搭建私服后,肯定是需要將repositories設(shè)置為我們的私服地址的。下面的這段代碼就可以完成我們
                  的需要:
                <repositories>
                  <repository>
                      <id>artifactory</id>
                      <name>local private artifactory</name>
                      <url>http://127.0.0.1:8081/artifactory/repo/</url>
                  </repository>
                </repositories>
                  但是這段代碼放到哪里比較好呢?按照maven的設(shè)置,可以放到%MAVEN_HOME%/conf/settings.xml, ~/.m2/settings.xml和
                  項(xiàng)目的pom.xml文件中,上面三個(gè)設(shè)置可以覆蓋,pom.xml中設(shè)置是最直接了當(dāng)?shù)摹5强紤]到repositories信息是完全有
                  可能變化的,尤其是使用私服,萬(wàn)一公司的私服換個(gè)地址難道所有項(xiàng)目的pom.xml文件都設(shè)置一遍? 還有pom.xml文件是用
                  來(lái)保存當(dāng)前項(xiàng)目的多種依賴(lài)信息的,repositories信息應(yīng)該和當(dāng)前具體項(xiàng)目沒(méi)有直接聯(lián)系。因此不應(yīng)該放到pom.xml文件中。
                  尤其在pom.xml文件需要保存到cvs,subversion等版本控制系統(tǒng)中,可變的repositories信息就更不合適保存了。
                  因此需要將repositories信息設(shè)置在%MAVEN_HOME%/conf/settings.xml或~/.m2/settings.xml,這樣就足夠靈活了。
                 
                  實(shí)踐中發(fā)現(xiàn)一個(gè)比較奇怪的地方,我使用的是maven2.0.9版本,修改%MAVEN_HOME%/conf/settings.xml設(shè)置居然無(wú)效,只能
                  copy一份到~/.m2/settings.xml(這個(gè)文件默認(rèn)是不會(huì)自動(dòng)建立的),然后修改就可以正常生效了。沒(méi)有查清楚原因,好在
                  這兩個(gè)地方對(duì)我沒(méi)有實(shí)質(zhì)區(qū)別,放~/.m2/也能接受,只是要記得備份一次避免重裝系統(tǒng)時(shí)被刪除。
                 
              2. settings.xml設(shè)置repositories的最簡(jiǎn)單方式
                  發(fā)現(xiàn)最簡(jiǎn)單的辦法就是打開(kāi)settings.xml文件最下面的activeProfiles設(shè)置:
                  <activeProfiles>
                      <activeProfile>artifactory</activeProfile>
                  </activeProfiles>
                  當(dāng)然要先設(shè)置好對(duì)應(yīng)的profile,對(duì)于簡(jiǎn)單場(chǎng)景,一個(gè)就足夠了,這里我指向我搭建在本機(jī)的私服:
                 
              <profile>
                <id>artifactory</id>
                <repositories>
                  <repository>
                      <id>artifactory</id>
                      <name>local private artifactory</name>
                      <url>http://127.0.0.1:8081/artifactory/repo/</url>
                  </repository>
                </repositories>
                <pluginRepositories>
                  <pluginRepository>
                      <id>artifactory</id>
                      <name>local private artifactory</name>
                      <url>http://127.0.0.1:8081/artifactory/plugins-releases</url>
                      <snapshots>
                          <enabled>false</enabled>
                      </snapshots>
                  </pluginRepository>
              </pluginRepositories>
              </profile>
             
              順便提一下settings.xml文件中l(wèi)ocalRepository的設(shè)置,這個(gè)設(shè)置用來(lái)知名localRepository的目錄,默認(rèn)不打開(kāi),使用默認(rèn)值
              ~/.m2/repository,個(gè)人不喜歡,我就直接修改為固定位置:
              <localRepository>G:/soft/maven/localRepository</localRepository>
                 
              3. dependency的classifier必須正確設(shè)置
                  在下載testng時(shí)出現(xiàn)問(wèn)題,始終無(wú)法從官網(wǎng)下載testng的jar包,但是可以下載到testng-5.8.pom文件。反復(fù)查找才發(fā)現(xiàn)是
                  testng的jar包是區(qū)分jdk版本的,大家從這里可以看到
                  http://repo1.maven.org/maven2/org/testng/testng/5.8/
                  testng的jar包是有1.4和1.5的兩種下載。增加classifier設(shè)置制定具體jdk版本之后就可以正常工作了。
                  當(dāng)然如果artifact沒(méi)有jdk的差異就可以不需要設(shè)置這個(gè)參數(shù)。
                  <dependency>
                      <groupId>org.testng</groupId>
                      <artifactId>testng</artifactId>
                      <version>5.8</version>
                      <classifier>jdk15</classifier>
                  </dependency>
                 
              4. groupId和artifactId的獲取方式
                  使用maven,很直接就會(huì)遇到這個(gè)問(wèn)題,到底這個(gè)東西的groupId和artifactId是什么呢?總不能瞎猜吧?
                  這里推薦這個(gè)artifact查詢(xún)網(wǎng)站http://mvnrepository.com/,可以查找到25000+個(gè)artifact的信息,基本我們能用到的都
                  有了。
                  結(jié)合官網(wǎng)http://repo1.maven.org/maven2/ 頁(yè)面,基本可以搞定所有問(wèn)題。上面testng需要設(shè)置classifier的問(wèn)題我就是看到
                  http://repo1.maven.org/maven2/org/testng/testng/5.8/這個(gè)頁(yè)面后才發(fā)現(xiàn)問(wèn)題所在的。

              5. attifactory的http proxy設(shè)置
                  上面attifactory安裝時(shí)簡(jiǎn)單的介紹了一下 的http proxy設(shè)置,需要修改artifactory.config.xml中的<proxies>。但是這個(gè)是不夠的,必須要再在<remoteRepository>中明確用<proxyRef>指明使用哪個(gè)代理,格式參考如下:
                  <remoteRepository>
                      .........
                      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
                      <proxyRef>your-proxy</proxyRef>
                  </remoteRepository>
          proxies中key要對(duì)應(yīng)好
                  <proxies>
                      <proxy>
                      <key>your-proxy</key>
                      ......
                  </proxies>
             
          五. 比較有價(jià)值的參考資料
              陸續(xù)google到的一些資料,比較好.
              maven官網(wǎng)的資料
                  很全,很完整,非常值得看一遍,只是有點(diǎn)太多了,挺耗時(shí)間。而且是英文,暫時(shí)沒(méi)有知道對(duì)應(yīng)的中文版本。
              一些細(xì)碎的資料,主要是blog之類(lèi)
              1) maven settings.xml
                  http://blog.csdn.net/totogogo/archive/2007/12/18/1946691.aspx
              2)  Maven dependency and repository
                  http://blog.csdn.net/totogogo/archive/2007/12/20/1956381.aspx
              3)  maven profiles
                  http://blog.csdn.net/totogogo/archive/2007/12/19/1953379.aspx
             
          posted on 2009-01-05 23:25 禮物 閱讀(1287) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Maven2
          主站蜘蛛池模板: 开封市| 黑山县| 西安市| 凤凰县| 京山县| 栖霞市| 铜川市| 牡丹江市| 共和县| 巴彦淖尔市| 临漳县| 苍溪县| 东丰县| 抚远县| 讷河市| 邹城市| 岱山县| 泰安市| 泗水县| 图们市| 汽车| 玛多县| 岳池县| 中牟县| 扬州市| 沧州市| 临洮县| 合江县| 五原县| 游戏| 邵阳市| 广灵县| 临颍县| 井冈山市| 米泉市| 固始县| 玛沁县| 海城市| 涡阳县| 清远市| 勐海县|