零,我试图将的javax.servlet-API项目添加到我的Maven的Java项目(见this link有关版本的这种依赖性的详细信息)。我想将版本3.1.0添加到我的项目中。所以很自然,我想补充这依赖于我的pom.xml文件:Maven的自动删除尾随依赖版本(的javax.servlet-API)
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
然而,当Maven尝试下载JAR/POM文件这件神器,它得到一个错误,因为它会自动转换版本3.1.0到3.1,这不是其实际的版本,它找不到中央Maven回购该版本的神器:
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后(Maven dependency for Servlet 3.0 API?),但笔者的解决方案是使用servlet的API,这是我没有做利益<scope>provided</scope>
依赖监守我想避免需要使用提供范围。
删除'〜/ .m2目录/库/使用javax/servlet的/'并重新运行'MVN清洁install'似乎这样的伎俩。它能够下载javax.servlet的“3.1.0”版本。感谢您的帮助。 – ecbrodie
很高兴它解决了你的问题:) –