我使用 Spring MVC 创建了一个简单的 Web 应用程序,pom.xml 中的一个依赖项是:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
servlet-api
的版本是 2.5
,范围为 provided
,因此当我在 tomcat 中部署 Web 应用程序时,servlet-api
将由容器“提供”。这对我来说很清楚。
我怀疑在tomcat中,这个依赖的名称只是servlet-api.jar
,没有版本信息;而在 pom.xml 中我们也提到了版本名称,因此 jar 文件的有效名称变为 servlet-api-2.5.jar
。
那么在 tomcat 运行时,它不会查找 jar 文件的确切名称吗?它是如何运行的?
任何解释都会有很大帮助。
最佳答案
您在 Tomcat 上运行的网络应用不会查找特定的 JAR 文件(按名称或其他任何方式)。
相反,它将使用类路径来发现类。
这些类是从名为 servlet-api-2.5.jar
的 JAR 文件还是从名为 servlet-api.jar
的 JAR 文件添加到类路径中与运行时。
关于spring - 在运行时 web 应用程序如何使用在项目的 pom.xml 中不同的 servlet-api.jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48490007/