廢話不多說,直接上代碼
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
如果不配置scope,會把jar包發布,會跟容器里的jar包沖突
scope要用provided,由容器提供,不會發布
(或者不配這兩個依賴,在項目的Java Build Path的Libraries里添加Server Runtime(Tomcat))
- compile,缺省值,適用於所有階段,會隨着項目一起發布。
- provided,類似compile,期望JDK、容器或使用者會提供這個依賴。如servlet.jar。
- runtime,只在運行時使用,如JDBC驅動,適用運行和測試階段。
- test,只在測試時使用,用於編譯和運行測試代碼。不會隨項目發布。
- system,類似provided,需要顯式提供包含依賴的jar,Maven不會在Repository中查找它。