Maven Dependency Scope 的使用說明
一、 pom.xml檔 使用 Dependency Scope
<!-- servlet api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${javax.servlet.version}</version>
<scope>provided</scope>
</dependency>
<scope>provided</scope>
二、目前<scope>可以使用5個設定:
1、 compile (編譯)
此為預設值,表示此jar是所有階段需要的。 部署時將一起被打包到jar/war裡面。
2、 test (測試)
表示此jar檔只有在測試時,才需要使用。如 junit jar 等。
部署時將不會打包到jar/war裡面。
3、 runtime (運行)
表示此jar檔只有在運行時,才需要使用。如jdbc jar等。
4、 provided (已提供)
當運行時,表示此jar檔期望由JDK、Tomcat及jboss等來提供。如 servlet.jar、jsp-api.jar 等。
部署時將不會打包到jar/war裡面。
5、 system (系統)
表示此jar檔有系統提供。跟provided 相似,這是以外部JAR檔的形式提供。
而在maven repository 是無法找到它的。
需指定位置,配合 systemPath 來使用。
參考:
Dependency Scopes
其它文章
留言列表