<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    閑人野居
    好好學(xué)習(xí),天天向上
    posts - 57,  comments - 137,  trackbacks - 0
    ??? maven2 比起maven1 來說,需要配置的文件少多了,主要集中在pom.xml和settings.xml中。
    ??? 先來說說settings.xml,settings.xml對于maven來說相當于全局性的配置,用于所有的項目。在maven2中存在兩個settings.xml,一個位于maven2的安裝目錄conf下面,作為全局性配置。對于團隊設(shè)置,保持一致的定義是關(guān)鍵,所以maven2/conf下面的settings.xml就作為團隊共同的配置文件。保證所有的團隊成員都擁有相同的配置。當然對于每個成員,都需要特殊的自定義設(shè)置,如用戶信息,所以另外一個settings.xml就作為本地配置。默認的位置為:${user.dir}/.m2/settings.xml目錄中(${user.dir} 指windows 中的用戶目錄)。
    ??? settings.xml基本結(jié)構(gòu)如下:
    ??? <settings xmlns="http://maven.apache.org/POM/4.0.0"
    ????????? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    ????????? xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    ?????????????????????????????? http://maven.apache.org/xsd/settings-1.0.0.xsd">
    ? <localRepository/>
    ? <interactiveMode/>
    ? <usePluginRegistry/>
    ? <offline/>
    ? <pluginGroups/>
    ? <servers/>
    ? <mirrors/>
    ? <proxies/>
    ? <profiles/>
    ? <activeProfiles/>
    </settings>
    簡單介紹一下幾個主要的配置因素:
    localRepository:表示本地庫的保存位置,也就是maven2主要的jar保存位置,默認在${user.dir}/.m2/repository,如果需要另外設(shè)置,就換成其他的路徑。
    offline:如果不想每次編譯,都去查找遠程中心庫,那就設(shè)置為true。當然前提是你已經(jīng)下載了必須的依賴包。
    Servers
    ?? 在POM中的 distributionManagement元素定義了開發(fā)庫。然而,特定的username和pwd不能使用于pom.xml,所以通過此配置來保存server信息
    ? <servers>
    ??? <server>
    ????? <id>server001</id>
    ????? <username>my_login</username>
    ????? <password>my_password</password>
    ????? <privateKey>${usr.home}/.ssh/id_dsa</privateKey>
    ????? <passphrase>some_passphrase</passphrase>
    ????? <filePermissions>664</filePermissions>
    ????? <directoryPermissions>775</directoryPermissions>
    ????? <configuration></configuration>
    ??? </server>
    ? </servers>
    • id:server 的id,用于匹配distributionManagement庫id,比較重要。
    • username, password:用于登陸此服務(wù)器的用戶名和密碼
    • privateKey, passphrase:設(shè)置private key,以及passphrase
    • filePermissions, directoryPermissions:當庫文件或者目錄創(chuàng)建后,需要使用權(quán)限進行訪問。參照unix文件許可,如664和775
    Mirrors
    表示鏡像庫,指定庫的鏡像,用于增加其他庫
    ? <mirrors>
    ??? <mirror>
    ????? <id>planetmirror.com</id>
    ????? <name>PlanetMirror Australia</name>
    ????? <url>http://downloads.planetmirror.com/pub/maven2</url>
    ????? <mirrorOf>central</mirrorOf>
    ??? </mirror>
    ? </mirrors>
    • id,name:唯一的標志,用于區(qū)別鏡像
    • url:鏡像的url
    • mirrorOf:此鏡像指向的服務(wù)id
    Proxies
    此設(shè)置,主要用于無法直接訪問中心的庫用戶配置。
    ? <proxies>
    ??? <proxy>
    ????? <id>myproxy</id>
    ????? <active>true</active>
    ????? <protocol>http</protocol>
    ????? <host>proxy.somewhere.com</host>
    ????? <port>8080</port>
    ????? <username>proxyuser</username>
    ????? <password>somepassword</password>
    ????? <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts>
    ??? </proxy>
    ? </proxies>
    • id:代理的標志
    • active:是否激活代理
    • protocol, host, port:protocol://host:port 代理
    • username, password:用戶名和密碼
    • nonProxyHosts: 不需要代理的host
    Profiles
    ? 類似于pom.xml中的profile元素,主要包括activation,repositories,pluginRepositories 和properties元素
    ? 剛開始接觸的時候,可能會比較迷惑,其實這是maven2中比較強大的功能。從字面上來說,就是個性配置。
    ? 單獨定義profile后,并不會生效,需要通過滿足條件來激活。
    ?repositories 和pluginRepositories
    ?定義其他開發(fā)庫和插件開發(fā)庫。對于團隊來說,肯定有自己的開發(fā)庫。可以通過此配置來定義。
    ?如下的配置,定義了本地開發(fā)庫,用于release 發(fā)布。
    ?? ?<repositories>
    ??????? <repository>
    ????????? <id>repo-local</id>
    ?? ??? <name>Internal 開發(fā)庫</name>
    ?? ??? <url>http://192.168.0.2:8082/repo-local</url>
    ????????? <releases>
    ??????????? <enabled>true</enabled>
    ??????????? <updatePolicy>never</updatePolicy>
    ??????????? <checksumPolicy>warn</checksumPolicy>
    ????????? </releases>
    ????????? <snapshots>
    ??????????? <enabled>false</enabled>
    ????????? </snapshots>
    ????????? <layout>default</layout>
    ??????? </repository>
    ????? </repositories>
    ????? <pluginRepositories>
    ?? ?<pluginRepository>
    ?? ?<id>repo-local</id>
    ?? ?<name>Internal 開發(fā)庫</name>
    ?? ?<url>http://192.168.0.2:8082/repo-local</url>
    ?? ?<releases>
    ??????????? <enabled>true</enabled>
    ??????????? <updatePolicy>never</updatePolicy>
    ??????????? <checksumPolicy>warn</checksumPolicy>
    ??? </releases>
    ??? <snapshots>
    ?? ?<enabled>false</enabled>
    ?? ?</snapshots>
    ?? ?<layout>default</layout>
    ?? ?</pluginRepository>
    ?? ?</pluginRepositories>
    releases, snapshots:每個產(chǎn)品的版本的Release或者snapshot(注:release和snapshot的區(qū)別,release一般是比較穩(wěn)定的版本,而snapshot基本上不穩(wěn)定,只是作為快照)

    properties
    ? maven 的properties作為placeholder值,如ant的properties。
    包括以下的5種類型值:
    1. env.X,返回當前的環(huán)境變量
    2. project.x:返回pom中定義的元素值,如project.version
    3. settings.x:返回settings.xml中定義的元素
    4. java 系統(tǒng)屬性:所有經(jīng)過java.lang.System.getProperties()返回的值
    5. x:用戶自己設(shè)定的值
    Activation
    ? 用于激活此profile
    ? <activation>
    ??????? <activeByDefault>false</activeByDefault>
    ??????? <jdk>1.5</jdk>
    ??????? <os>
    ????????? <name>Windows XP</name>
    ????????? <family>Windows</family>
    ????????? <arch>x86</arch>
    ????????? <version>5.1.2600</version>
    ??????? </os>
    ??????? <property>
    ????????? <name>mavenVersion</name>
    ????????? <value>2.0.3</value>
    ??????? </property>
    ??????? <file>
    ????????? <exists>${basedir}/file2.properties</exists>
    ????????? <missing>${basedir}/file1.properties</missing>
    ??????? </file>
    ????? </activation>
    • jdk:如果匹配指定的jdk版本,將會激活
    • os:操作系統(tǒng)
    • property:如果maven能檢測到相應(yīng)的屬性
    • file: 用于判斷文件是否存在或者不存在

    除了使用activation來激活profile,同樣可以通過activeProfiles來激活
    Active Profiles
    表示激活的profile,通過profile id來指定。
    ? <activeProfiles>
    ??? <activeProfile>env-test</activeProfile> 指定的profile id
    ? </activeProfiles>

    posted on 2006-12-29 20:16 布衣郎 閱讀(35073) 評論(0)  編輯  收藏 所屬分類: 配置管理

    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿(12)

    隨筆分類(59)

    隨筆檔案(57)

    blog

    java

    uml

    搜索

    •  

    積分與排名

    • 積分 - 357203
    • 排名 - 155

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成色WWW久久网站| 亚洲人成影院午夜网站| 日本在线免费播放| 亚洲视频在线观看免费视频| 毛片A级毛片免费播放| 理论亚洲区美一区二区三区| 亚洲日韩精品无码一区二区三区| 国产91色综合久久免费分享| 美女扒开尿口给男人爽免费视频 | 成在人线av无码免费高潮水| 亚洲黄色免费在线观看| 国产一区二区三区在线免费观看| a在线观看免费视频| 国产AV旡码专区亚洲AV苍井空| 亚洲色偷偷狠狠综合网| 最近中文字幕mv免费高清在线 | 国产精品成人免费观看| 亚洲AV成人噜噜无码网站| 亚洲国产综合精品中文字幕| 久久成人国产精品免费软件| 一级毛片免费在线| 亚洲精品日韩中文字幕久久久| 国产青草视频免费观看97 | 国产va在线观看免费| 久久亚洲中文无码咪咪爱| 亚洲精品国产啊女成拍色拍| 亚洲高清无码综合性爱视频| 免费不卡视频一卡二卡| 国产一区二区免费视频| 全部一级一级毛片免费看| 亚洲xxxx18| 精品亚洲成a人片在线观看少妇 | 中文字幕亚洲无线码| 夜夜嘿视频免费看| 野花香在线视频免费观看大全| 国产大陆亚洲精品国产| 亚洲人配人种jizz| 亚洲自偷自拍另类12p| 亚洲精品无码久久千人斩| 又粗又硬又大又爽免费视频播放| 毛片免费视频在线观看|