Maven automatically removes trailing zeroes in dependency version (javax.servlet-api)
我正在尝试将javax.servlet-api项目添加到我的Maven Java项目中(有关此依赖性版本的更多信息,请参见此链接)。我想将版本3.1.0添加到我的项目中。所以自然地,我将此依赖关系添加到我的pom.xml文件中:
1 2 3 4 5 | <dependency> <groupId>javax.servlet</groupId> javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> |
但是,当Maven尝试下载该工件的jar / pom文件时,会出现错误,因为它会自动将版本3.1.0转换为3.1(不是其实际版本),并且找不到该工件的版本。在中央Maven回购中:
1 2 3 4 5 6 7 8 | Downloading: http://repo.maven.apache.org/maven2/javax/servlet/javax.servlet-api/3.1/javax.servlet-api-3.1.pom [WARNING] The POM for javax.servlet:javax.servlet-api:jar:3.1 is missing, no dependency information available Downloading: http://repo.maven.apache.org/maven2/javax/servlet/javax.servlet-api/3.1/javax.servlet-api-3.1.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ ... [ERROR] Failed to execute goal on project my-java-project: Could not resolve dependencies for project com.example.myproject:my-project:war:1.0-SNAPSHOT: Could not find artifact javax.servlet:javax.servlet-api:jar:3.1 in central (http://repo.maven.apache.org/maven2) -> [Help 1] |
有人知道我如何告诉Maven不要删除pom.xml文件中依赖项的版本标记中的尾随零吗?已知其他解决方法吗?
注意:我确实检查了此SOF帖子(Servlet 3.0 API的Maven依赖关系?),但是该作者的解决方案是对servlet-api使用
it gets an error because it automatically converts version 3.1.0 to 3.1
那是不可能的。 Maven绝不会转换版本号(快照除外)。它将始终下载您在
要调试问题,请首先验证pom
中是否具有正确的maven条目。
1 2 3 4 5 | <dependency> <groupId>javax.servlet</groupId> javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> |
其次,我建议您删除文件夹