maven 屬性

scope屬性

<dependency> scope屬性是用來限制第三方依賴包的做用範圍, 影響maven項目在各個生命週期時導
入的package的狀態。自從2.0.x後,新增了1種,如今有了6種經常使用scope:
  • compile

    * 默認的scope
        * 表示 dependency 能夠在生命週期中使用。且這些dependencies 會傳遞到依賴的項目中
  • provided

    * 跟compile類似,可是代表了dependency 由JDK或者容器提供【例如Servlet API等】
        * 這個scope 只能做用在編譯和測試時,同時沒有傳遞性。不會將包打入本項目中,只是依賴過來。
  • runtime

    表示dependency不做用在編譯時,但會做用在運行和測試時
  • test

    表示dependency做用在測試時,不做用在運行時
  • system

    * 跟provided 類似。必須經過元素顯式地指定依賴文件的路徑,maven不會在repository查找它
        * 因爲此類依賴不是經過maven倉庫解析的,並且每每是與本機系統綁定,可能形成構件的不可移
          植性,因此要謹慎使用。
  • import

    * maven 2.0.9 以後新增
    * 只使用在<dependencyManagement>中,表示從其它的pom中導入dependency的配置

    type屬性

相關文章
相關標籤/搜索