javax.servlet .lastUpdated issue

时间:2016-08-25 06:27:07

标签: java maven servlets pom.xml

我在pom.xml中有以下依赖项:

  <properties>
      <javax.servlet.version>3.1.0</javax.servlet.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
        <version>${javax.servlet.version}</version>
    </dependency>
  </dependencies>

当我在项目中运行nvm clean install时,在~/.m2/repository/javax/servlet/servlet-api/3.1.0/ maven创建servlet-api-3.1.0.jar.lastUpdatedservlet-api-3.1.0.pom.lastUpdated

为什么maven会创建servlet-api-3.1.0.jar.lastUpdated而不是servlet-api-3.1.0.jar

2 个答案:

答案 0 :(得分:1)

因为下载servlet-api-3.1.0.jar来自网络失败 你可以看到调试,并找到导致下载失败的原因。

maven find jar process:
1.来自你的loacal Responsitory(.m2 dir)
2.如果找不到,会从那里找到(你的pom.xml设置)

<repositories>
    <repository>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <id>public</id>
        <name>Public Repositories</name>
        <url>http://yourOwnRepository/nexus/content/repositories/thirdparty/</url>
    </repository>
</repositories>

3.如果未找到,将从您的maven settings.xml config

中找到

4.如果不喜欢,将从默认的maven存储库中找到

答案 1 :(得分:-1)

也许你应该使用其artifactId为javax.servlet-api而不是servlet-api的类。我遇到了这个问题,最终发现我使用的类是在javax.servlet-api中。 见这里,详细解释Difference between javax.servlet-api.jar vs servlet-api.jar