maven-compiler-plugin не будет обновляться с 2.0.2.SP1 до 2.3.2 - PullRequest
2 голосов
/ 08 октября 2011

Я новичок в 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?

1 Ответ

1 голос
/ 30 января 2012

У вас здесь немало информации, поэтому я постараюсь разобрать ее и ответить как можно больше ...

Мне кажется, я знаю, почему maven-compiler-плагин не будет обновляться до последней версии 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 отдать приоритет репозиторию Maven Central над репозиторием JBoss?

Я не думаю, что 2.0.2.SP1 плагина используется.Даже если бы это было так, использование снимков плагинов не слишком важно для IMO.Использование снимков зависимостей определенно требует осторожности.

Я уверен, что есть способы переопределить, какой репозиторий разрешает, что и в каком порядке, но я не знаю, насколько это поможет вам в этом случае.

Надеюсь, это поможет.

...