我是Maven新手,现在已经在Maven学习了一个星期,有5年使用Ant的经验,所以我能够毫无困难地加快速度。我已经阅读了maven.apache.org上的所有文档两次 - 几百页的阅读。我已经使用几种不同的Maven原型创建了几个测试应用程序,以便在我阅读文档时更好地理解。现在,我正在建立我的新项目,更精细的点正在发挥作用......
我想我知道为什么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可能有问题不知道需要更新存储库中的文件,我运行了mvn版本:use-latest-releases我注意到jar文件被下载到〜/ .m2 / repository / org / apache / maven / plugins / maven-compiler-plugin / ie
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-compiler-plugin版本保持为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存储库添加到项目中,我的下一个想法是RichFaces中可能存在阻止项目的东西从使用最新的编译器,我看了
〜/ .m2目录/库/组织/阿帕奇/行家/插件/行家编译-插件/行家-元数据的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-compiler-plugin版本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优先使用JBoss存储库上的Maven Central存储库?
答案 0 :(得分:1)
你在这里已经有了很多,所以我会试着把它拆开然后尽可能多地回答......
我想我知道为什么maven-compiler-plugin不会升级到 最新版本,2.3.2,当我运行时
根据下面的代码段,看起来它运行正常。我刚检查了编译插件页面,而2.3.2实际上是最新版本。
运行时:mvn help:describe -Dplugin=org.apache.maven.plugins:maven-compiler-plugin
/usr/java/jdk1.7.0
我猜这是默认设置。如果您在所述项目中运行mvn compile
,则应使用您指定的2.3.2。
我的直觉告诉我,添加一个是完全危险的 版本2.3.2的条目到上面的XML文件,即2.3.2。我 正确的吗?
保留元数据文件,除非您正在寻找麻烦或者真正知道自己在做什么:)
我有什么选择?我应该对使用v感到满意吗? 2.0.2.SP1?或者有没有办法让Maven忽略maven-metadata-jboss-public-repository-group.xml,或者可能会问Maven 通过JBoss优先考虑Maven Central存储库 存储库
我认为插件的2.0.2.SP1没有被使用。即使它是\,使用插件的快照并不是一个特殊的IMO。使用依赖关系的快照肯定需要谨慎。
我确信有多种方法可以覆盖哪个存储库解析了什么,以什么顺序解析,但我不知道在这个实例中它会对你有多大帮助。
我希望这会有所帮助。