Я новичок в 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 / плагины / 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-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 / хранилища / орг / Apache / Maven / плагины / Maven-компилятор плагин / Maven-метаданные 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 отдать приоритет репозиторию Maven Central над репозиторием JBoss?