maven依賴中的scope使用
阿新 • • 發佈:2018-11-17
例如:
<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。