2013-03-17 68 views
0

我正在寫一個spring-mvc應用程序(並學習spring-mvc)。我沒有將servlet依賴添加到pom.xml。當我運行mvn compilemvn package時,它會成功完成。是不是想拋出像'無法找到javax.servlet.http.HttpServlet'的異常?它是如何編譯的?爲什麼Maven沒有Servlet依賴性編譯成功?

MVN依賴性:清單:

下列文件已經得到解決:[INFO]
aopalliance:aopalliance:罐子:1.0:編譯[INFO]
公地DBCP:公地DBCP:罐子:1.4:編譯[INFO]
公地池:公地池:罐:1.5.4:編譯[INFO]
的log4j:log4j的:罐:1.2.17:編譯[INFO]
org.codehaus.jackson :jackson-core-asl:jar:1.9.12:compile [INFO]
org.codehaus.jac kson:jackson-mapper -asl:jar:1.9.12:compile [INFO]
org.slf4j:jcl-over-slf4j:jar:1.7.2:compile [INFO]
org.slf4j:slf4j-api: jar:1.7.2:compile [INFO]
org.slf4j:slf4j-log4j12:jar:1.7.2:compile [INFO]
org.springframework:spring-aop:jar:3.2.1.RELEASE:compile [ INFO]
org.springframework:彈簧豆:罐:3.2.1.RELEASE:編譯[INFO]
org.springframework:彈簧上下文:罐:3.2.1.RELEASE:編譯[INFO]
有機springframework:spring-core:jar:3.2.1.RELEASE:compile [INFO]
org.springframework:spring-expression:jar:3.2.1.RELEASE :編譯[INFO] org.springframework:spring-jdbc:jar:3.2.1.RELEASE:compile [INFO]
org.springframework:spring-tx:jar:3.2.1.RELEASE:compile [INFO]
org.springframework:spring-web:jar:3.2.1.RELEASE:compile [INFO]
org.springframework:spring-webmvc:jar:3.2.1.RELEASE:compile [INFO]
postgresql:postgresql:jar: 9.2-1002.jdbc4:編譯

回答

1

它的原因是,Servlet Api是spring-webmvc的傳遞依賴。 默認情況下Maven包含所有的傳遞依賴。

使用下面的命令列出依賴&其傳遞依賴

mvn dependency:tree 
0

由於servlet API是org.springframework:spring-webmvc的依賴項,因此也是項目的傳遞依賴項。

0

不能完全realated: 仍你學習彈簧MVC我建議保持在POM只需要依賴它會告訴你哪個罐子有哪些類。

還配置日誌記錄,並將彈出特定的程序包調試,這極大地支持瞭解流量或可能是錯誤的。從春季開始,它給了我很多幫助。快樂學習:)