計算機程序虛擬的人生
          虛擬世界中的游魂
          三種依賴范圍:compiletestprovided,runtime,test,system

          compile(編譯范圍)

          compile是默認的范圍;如果沒有提供一個范圍,那該依賴的范圍就是編譯范圍。編譯范圍依賴在所有的classpath中可用,同時它們也會被打包。

          provided(已提供范圍)

          provided依賴只有在當JDK或者一個容器已提供該依賴之后才使用。例如,如果你開發了一個web應用,你可能在編譯classpath中需要可用的Servlet API來編譯一個servlet,但是你不會想要在打包好的WAR中包含這個Servlet API;這個Servlet API JAR由你的應用服務器或者servlet容器提供。已提供范圍的依賴在編譯classpath(不是運行時)可用。它們不是傳遞性的,也不會被打包。

          runtime(運行時范圍)

          runtime依賴在運行和測試系統的時候需要,但在編譯的時候不需要。比如,你可能在編譯的時候只需要JDBC API JAR,而只有在運行的時候才需要JDBC驅動實現。

          test(測試范圍)

          test范圍依賴在一般的 編譯和運行時都不需要,它們只有在測試編譯和測試運行階段可用。

          system(系統范圍)

          system范圍依賴與provided類似,但是你必須顯式的提供一個對于本地系統中JAR文件的路徑。這么做是為了允許基于本地對象編譯,而這些對象是系統類庫的一部分。這樣的構件應該是一直可用的,Maven也不會在倉庫中去尋找它。如果你將一個依賴范圍設置成系統范圍,你必須同時提供一個systemPath元素。注意該范圍是不推薦使用的(你應該一直盡量去從公共或定制的Maven倉庫中引用依賴)。

           
          依賴版本界限:
          (?, ?) 不包含量詞。意思為:?<xx<?
          [?, ?] 包含量詞。意思為:?<=xx<=?
          例如:指定一個依賴界限:JUnit 3.8 - JUnit 4.0
          <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>[3.8,4.0)</version>
          <scope>test</scope>
          </dependency>
          
           
          posted on 2009-06-07 22:28 小兄弟(Robbins) 閱讀(567) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          主站蜘蛛池模板: 建阳市| 伊吾县| 昭通市| 当涂县| 枣强县| 石泉县| 襄城县| 台北县| 济阳县| 收藏| 怀安县| 蓝山县| 安吉县| 宁国市| 星子县| 汉沽区| 鹤庆县| 资兴市| 东平县| 油尖旺区| 宁夏| 门头沟区| 怀仁县| 黑水县| 连云港市| 陵川县| 永兴县| 富蕴县| 长丰县| 贵阳市| 北京市| 武陟县| 本溪| 西峡县| 扎囊县| 延川县| 沁源县| 泗洪县| 辽中县| 调兵山市| 湘乡市|