2014-02-12 4 views
0

В проекте pom.xml требуется включить оба модуля maven-release-plugin и maven-compiler-plugin? Причина, по которой мне нужен плагин release, заключается в том, что я хочу выпустить проект в конце спринта/выпуска. Я понимаю, что плагин компилятора будет компилировать исходный код, однако я не уверен, что плагин release также будет компилировать исходный код, кроме обновления pom и проверки/in в scm.Делает ли maven-release-плагин и то, что делает maven-compiler-plugin?

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.2.2</version> 
</plugin> 

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
     <encoding>UTF-8</encoding> 
    </configuration> 
</plugin> 

Любая помощь с этим очень ценится.

ответ

1

Если не указано, Maven будет знать, что делать, когда ему нужно скомпилировать код. Тем не менее, чтобы иметь возможность контролировать такие вещи, как исходные и целевые версии, вам нужно будет иметь объявление maven-compiler-plugin.

Как правило, правильная практика заключается в том, чтобы явно определять используемые вами плагины, а также их конфигурации и, прежде всего, их версии, чтобы у вас была гарантия того, что работает.

+0

Есть ли заказ, в котором оба этих плагина должны быть указаны в pom.xml? Или Maven автоматически определит порядок, в котором будет выполнен плагин. Также эти плагины нужно упомянуть в корневом pom.xml или в pom.xml модуля? Спасибо – user1470220

+0

Эти плагины выполняются в разных ''. «Maven-compiler-plugin» имеет два цели, которые будут вызываться: 'compiler: compile' (выполняется в фазе' compile') и компилятор: testCompile (выполняется в фазе 'test-compile'). Подробнее о этапах проверьте здесь: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html. Определите их в родительском pom в разделе '', а затем используйте их в дочернем элементе. – carlspring

0

Описывается плагин выпуска Maven here. Ваш вопрос касается пули «Запустите тесты проекта с измененными POM, чтобы подтвердить, что все в рабочем состоянии». Здесь не так много волшебства. Случается, что maven-release-плагин начнет новый сеанс Maven. Он выполнит «mvn verify» в той же папке, где вы запустили «mvn release: подготовить». Все шаги, выполняемые плагином maven-release, также могут выполняться вручную, но это требует ошибок.