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

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

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

    Ordinary hut

    人間一福地,勝似天仙宮
    posts - 61, comments - 50, trackbacks - 0, articles - 1

    maven一些說明

    Posted on 2011-03-04 16:29 landor 閱讀(757) 評(píng)論(0)  編輯  收藏 所屬分類: maven
      1 dependency中的scope
      compile:默認(rèn),編譯范圍,會(huì)被打包;
      provide:已經(jīng)提供范圍,比如文件A.java在打包的時(shí)候需要xxx.jar,這個(gè)jar在目標(biāo)環(huán)境中已經(jīng)存在了,我們不需要把他也一起打包,就用provided
      runtime:編譯的時(shí)候不需要,運(yùn)行和測(cè)試的時(shí)候需要;
      test:在編譯和運(yùn)行的時(shí)候不需要,只有在測(cè)試的時(shí)候才需要;
      system:類似provided,但是必須提供依賴的路徑,比如所以來的jar文件的位置;這樣maven不會(huì)在本地倉(cāng)庫(kù)中尋找它了;不被推薦使用;
      2 dependency中的version
      (, )不包含,[, ]包含,例如:
      <version>1.4.1</version> 版本是1.4.1
      <version>[3.8,4.0)</version> 版本是>=3.8并且<4.0
      <version>[,4.0)</version> 版本是任何<4.0
      <version>[3.8,)</version> 版本是任何>=3.8
      3 dependency是傳遞的
      比如spring依賴common-xxx依賴,我們只需要引入spring dependency即可,maven會(huì)自動(dòng)去找spring的那些依賴;
      4 dependency依賴排除
      有時(shí)候A依賴B,B依賴C,但是C在中央倉(cāng)庫(kù)或者你的倉(cāng)庫(kù)中沒有,就會(huì)有問題。比如hibernate依賴Sun JTA API,但是他在中央Maven 倉(cāng)庫(kù)中沒有,而在倉(cāng)庫(kù)中有另一個(gè)JTA實(shí)現(xiàn),并不是Sun的,就可以這么用:
      <dependencies>
          
      <dependency>
              
      <groupId>org.hibernate</groupId>
              
      <artifactId>hibernate</artifactId>
              
      <version>3.2.5.ga</version>
              
      <exclusions>
                  
      <exclusion>
                      
      <groupId>javax.transaction</groupId>
                      
      <artifactId>jta</artifactId>
                  
      </exclusion>
              
      </exclusions>
          
      </dependency>
          
      <dependency>
              
      <groupId>org.apache.geronimo.specs</groupId>
              
      <artifactId>geronimo-jta_1.1_spec</artifactId>
              
      <version>1.1</version>
          
      </dependency>
      </dependencies>
      這兩個(gè)依賴是沒有關(guān)系的,只不過是在geronimo-jta_1.1_spec提供的內(nèi)容正好是hibernate所需要的;
      5 dependencyManagement的作用
      擋在parent pom.xml中定義了dependencyManagement之后,子項(xiàng)目可以引用它而不用聲明版本號(hào),就是說他會(huì)默認(rèn)parent pom.xml中的版本號(hào),比如:
      <dependencyManagement>
          
      <dependencies>
              
      <dependency>
                  
      <groupId>mysql</groupId>
                  
      <artifactId>mysql-connector-java</artifactId>
                  
      <version>5.1.2</version>
              
      </dependency>
              
          
      <dependencies>
      </dependencyManagement>
      那么子項(xiàng)目就可以引用它:
      <project>
          
      <modelVersion>4.0.0</modelVersion>
          
      <parent>
              
      <groupId>org.sonatype.mavenbook</groupId>
              
      <artifactId>a-parent</artifactId>
              
      <version>1.0.0</version>
          
      </parent>
          
      <artifactId>project-a</artifactId>
          
          
      <dependencies>
          
      <dependency>
              
      <groupId>mysql</groupId>
              
      <artifactId>mysql-connector-java</artifactId>
          
      </dependency>
          
      </dependencies>
      </project>
      可以在子pom.xml中寫版本,那樣會(huì)覆蓋parent pom.xml中的依賴的版本;








      只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


      網(wǎng)站導(dǎo)航:
       
      主站蜘蛛池模板: 亚洲人成无码网站在线观看 | 乱人伦中文视频在线观看免费| 操美女视频免费网站| 亚洲国产精品国自产电影| 久久久久久国产a免费观看不卡| 免费h成人黄漫画嘿咻破解版| 午夜亚洲乱码伦小说区69堂| 水蜜桃视频在线观看免费| 国产美女做a免费视频软件| 亚洲精品伦理熟女国产一区二区| 久久一区二区三区免费| 久久亚洲国产精品五月天婷| 亚洲国产精品网站久久| 成人免费视频网站www| 亚洲国产精品无码久久久| 91成年人免费视频| 亚洲熟妇AV乱码在线观看| 久久免费观看国产精品88av| 拔擦拔擦8x华人免费久久| 亚洲国产精品人久久| 永久看日本大片免费35分钟 | 操美女视频免费网站| 色窝窝亚洲av网| 亚洲色偷偷狠狠综合网| 97se亚洲国产综合自在线| 日韩免费的视频在线观看香蕉| 亚洲国产精品线在线观看| 999久久久免费精品国产| 亚洲丶国产丶欧美一区二区三区| 啊v在线免费观看| 精品一区二区三区免费| 中文字幕日韩亚洲| 5g影院5g天天爽永久免费影院| 亚洲一区二区三区不卡在线播放 | 国产精品亚洲美女久久久| 国产成人AV免费观看| 亚洲AV色吊丝无码| 亚洲一区二区三区国产精品| 免费国产黄网站在线观看视频| 亚洲日韩亚洲另类激情文学| 亚洲国产成人久久综合碰|