零,我試圖將的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
很高興它解決了你的問題:) –