我正在写一个spring-mvc app(并且学习spring-mvc)。我没有向pom.xml添加servlet依赖项。当我运行mvn compile
或mvn package
时,它会成功完成。是不是就像'找不到javax.servlet.http.HttpServlet'那样抛出异常?它是如何编译的?
mvn依赖:list:
以下文件已解决:[INFO]
aopalliance:aopalliance:jar:1.0:编译[INFO]
commons-dbcp:commons-dbcp:jar:1.4:compile [INFO]
commons-pool:commons-pool:jar:1.5.4:编译[INFO]
log4j:log4j:jar:1.2.17:编译[INFO]
org.codehaus.jackson:jackson-core-asl:jar:1.9.12:compile [INFO]
org.codehaus.jackson:jackson-mapper-asl:jar:1.9.12:compile [INFO]
org.slf4j:jcl-over-slf4j:jar:1.7.2:编译[INFO]
org.slf4j:slf4j-api:jar:1.7.2:编译[INFO]
org.slf4j:slf4j-log4j12:jar:1.7.2:编译[INFO]
org.springframework:spring-aop:jar:3.2.1.RELEASE:编译[INFO]
org.springframework:spring-beans:jar:3.2.1.RELEASE:compile [INFO]
org.springframework:spring-context:jar:3.2.1.RELEASE:compile [INFO]
org.springframework:spring-core:jar:3.2.1.RELEASE:compile [INFO]
org.springframework:spring-expression:jar:3.2.1.RELEASE:compile [INFO] org.springframework:spring-jdbc:jar:3.2.1.RELEASE:compile [INFO]
org.springframework:spring-tx:jar:3.2.1.RELEASE:编译[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:罐子:9.2-1002.jdbc4:编译
答案 0 :(得分:1)
因为,Servlet Api是spring-webmvc的传递依赖。 默认情况下,Maven包含所有传递依赖项。
使用以下命令列出依赖关系&它的传递依赖
mvn dependency:tree
答案 1 :(得分:0)
因为servlet API是org.springframework:spring-webmvc
的依赖项,因此是项目的传递依赖项。
答案 2 :(得分:0)
并非完全相关: 当你学习spring-mvc时,我建议只保留pom中所需的依赖关系,它会告诉你哪个jar有哪些类。
还为spring特定包配置日志记录和调试,这极大地支持了解流程或可能出错的内容。当我从春天开始时,它对我帮助很大。快乐学习:))