我是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的工作有了更好的理解。就像你说的那样,只需保留元数据并使用指定的插件即可。 –