1. 程式人生 > >maven依賴中的scope使用

maven依賴中的scope使用

例如:

<dependencies>
    <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
    </dependency>
    <dependency>
            <groupId>commons-collections</groupId
>
<artifactId>commons-collections</artifactId> <scope>compile</scope> </dependency> </dependencies>

這裡面有<scope>...</scope>,中間可以是下面的五個值,具體作用如下:

  • compile,預設值,適用於所有階段,會隨著專案一起釋出。
  • provided,類似compile,期望JDK、容器或使用者會提供這個依賴。如servlet.jar。
  • runtime,只在執行時使用,如JDBC驅動,適用執行和測試階段。
  • test,只在測試時使用,用於編譯和執行測試程式碼。不會隨專案釋出。
  • system,類似provided,需要顯式提供包含依賴的jar,Maven不會在Repository中查詢它。

一般常用的是compile和test。