我是Maven的新手,現在已經學習Maven一週了,有5年使用Ant的經驗,所以我可以無憂無慮地趕上速度。我已閱讀maven.apache.org上的所有文檔兩次 - 幾百頁的閱讀。我已經通過文檔閱讀了幾個不同的Maven原型創建了幾個測試應用程序,以加深我的理解。現在,我正在設置我的新項目,並且更精細的點正在發揮作用...maven-compiler-plugin不會從2.0.2.SP1升級到2.3.2
我想我知道爲什麼maven-compiler-plugin不會升級到最新版本2.3.2我跑
mvn versions:use-latest-release
但我需要知道是否有解決方法,或者如果我甚至應該擔心。首先,這裏是我的pom.xml文件的一部分:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
正如你所看到的,我指定了版本2.3.2。考慮到Maven可能存在一個問題,因爲Maven不知道需要更新其在存儲庫中的文件,所以我運行了mvn版本:use-latest-releases我注意到jar文件被下載到〜/ .m2/repository/org/apache /行家/插件/ Maven的編譯器插件/即
ll ~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2
total 60
-rw-rw-r--. 1 pgarner pgarner 29176 Oct 7 21:29 maven-compiler-plugin-2.3.2.jar
-rw-rw-r--. 1 pgarner pgarner 335 Oct 7 21:29 maven-compiler-plugin-2.3.2.jar.lastUpdated
-rw-rw-r--. 1 pgarner pgarner 40 Oct 7 21:29 maven-compiler-plugin-2.3.2.jar.sha1
-rw-rw-r--. 1 pgarner pgarner 7329 Oct 7 21:29 maven-compiler-plugin-2.3.2.pom
-rw-rw-r--. 1 pgarner pgarner 335 Oct 7 21:29 maven-compiler-plugin-2.3.2.pom.lastUpdated
-rw-rw-r--. 1 pgarner pgarner 40 Oct 7 21:29 maven-compiler-plugin-2.3.2.pom.sha1
-rw-rw-r--. 1 pgarner pgarner 208 Oct 7 21:29 _maven.repositories
但是當我跑下很明顯,maven的編譯器插件版本仍然是2.0.2.SP1:
mvn help:describe -Dplugin=org.apache.maven.plugins:maven-compiler-plugin
/usr/java/jdk1.7.0
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building RichFaces 4 Application 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-help-plugin:2.1.1:describe (default-cli) @ Patrac ---
[INFO] org.apache.maven.plugins:maven-compiler-plugin:2.0.2.SP1
Name: Maven Compiler Plugin
Description: Maven Plugins
Group Id: org.apache.maven.plugins
Artifact Id: maven-compiler-plugin
Version: 2.0.2.SP1
Goal Prefix: compiler
注意到我確實使用了richfaces-archetype-simpleapp原型來生成這個項目,並且我被要求將JBoss倉庫添加到項目中,我的下一個想法是可能有b在RichFaces中有些東西阻止項目使用最新的編譯器,我看了一下
〜/ .m2/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata-jboss-公共庫,group.xml
果然有,我想,我發現這個問題:
<latest>2.4-SNAPSHOT</latest>
<release>2.0.2.SP1</release>
<versions>
<version>0.1-stub-SNAPSHOT</version>
<version>2.0.2.SP1</version>
<version>2.3.2-SNAPSHOT</version>
<version>2.4-SNAPSHOT</version>
</versions>
那麼,這是否意味着RichFaces的不能與Maven的編譯器插件2.3版本使用。 2?
我想使用最新版本的maven-compiler-plugin開始使用這個新項目。我想遠離使用快照並堅持發佈。我的直覺告訴我,將2.3.2版的條目添加到上述XML文件(即2.3.2)是完全危險的。我對麼?或者這僅僅是一個JBoss-Maven倉庫的問題,沒有一套完整的maven-compiler-plugin的所有版本?
我有什麼選擇?我應該對使用v.2.0.2.SP1感到滿意嗎?或者有什麼方法可以讓Maven忽略maven-metadata-jboss-public-repository-group.xml,或者讓Maven優先考慮Maven Central倉庫而不是JBoss倉庫?
當我跑 'MVN幫助:描述-Dplugin = org.apache.maven.plugins:行家編譯-plugin' 終端輸出顯示,被正在使用的插件2.0.2.SP1。 我認爲什麼是強迫版本2.0.2.SP1是元數據本身,指定「 2.0.2.SP1 」,即使有後來的版本,例如。 ' 2.3.2-SNAPSHOT '(參見上面的原始文章)。 我想我現在對Maven的工作有了更好的理解。就像你說的那樣,只需保留元數據並使用指定的插件即可。 –