Как выполнить плагин maven _after_ все сборки модуля заканчиваются - PullRequest
11 голосов
/ 10 октября 2011

В частности, я пытаюсь запустить maven-javadoc-plugin, но всякий раз, когда я меняю номера версий в pom родительского / агрегаторного и всех дочерних элементов, при первом запуске сборки происходит сбой, потому что javadoc запускается первым и ненайдите любой из пакетов новой версии из модулей, потому что они еще не были собраны.

Я обычно заканчиваю тем, что комментирую javadoc для одной сборки, а затем добавляю его обратно, как только пакеты доступны в nexus для новой версии.Тем не менее, это, вероятно, означает, что я все время собирал Javadoc на один старый сборочный файл.

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

                    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <inherited>false</inherited>
                    <executions>
                        <execution>
                            <id>generate-javadoc</id>
                            <phase>package</phase>
                            <goals>
                                <goal>aggregate</goal>
                            </goals>
                            <configuration>
                                <aggregate>true</aggregate>
                                <links>
                                    <link>http://java.sun.com/javase/6/docs/api</link>
                                    <link>http://java.sun.com/javaee/5/docs/api</link>
                                </links>
                                <maxmemory>512</maxmemory>
                                <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
                                <docletArtifact>
                                    <groupId>org.umlgraph</groupId>
                                    <artifactId>doclet</artifactId>
                                    <version>5.2</version>
                                </docletArtifact>
                                <additionalparam>
                                    -inferrel -inferdep -outputencoding utf8 -hide
                                    java.* -collpackages
                                    java.util.*
                                    -qualify -postfixpackage
                                    -nodefontsize 9 -nodefontpackagesize 7
                                </additionalparam>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

Ответы [ 2 ]

0 голосов
/ 02 сентября 2017

Ваша декларация плагина javadoc в <build> части вашего pom. Вы должны рассмотреть вопрос о перемещении его в часть <reporting>, см. Ссылку .

0 голосов
/ 11 октября 2011

Один из способов обойти эту проблему - , а не , чтобы вызвать плагин Javadoc в нормальной жизненной фазе maven; вместо этого запустите его отдельно.

Чтобы быть точным, удалите тег <phase> из приведенного выше определения plugin.

Выполнить mvn install javadoc:javadoc от родителя.

Это соберет и установит все модули и родительский модуль, а затем запустит на них javadoc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...