Как создать объединенный сайт Maven из не связанных проектов? - PullRequest
1 голос
/ 29 июня 2011

Я хотел бы создать общий обзор нескольких проектов Maven в форме веб-сайта, созданного с целью Maven site . Проекты являются частью различных продуктов, некоторые имеют отношение родитель-потомок, некоторые зависят от других.

Сайт должен объединять информацию из всех проектов и включать в себя JavaDoc, проверки Checkstyle / PMD, результаты тестов и показатели покрытия кода.

Я создал файл POM, который объединяет каждый существующий проект в виде модуля, причем каждый проект доступен в подпапке, но затем выходные данные не объединяются в один сайт.

1 Ответ

2 голосов
/ 29 июня 2011

Вы можете сделать это, установив project.build.directory для всех ваших проектов в общую папку.Это может быть достигнуто путем передачи пути в качестве параметра для сборки.Затем вы можете запустить цель сайта в общей целевой папке.Если вы запускаете maven из среды непрерывной интеграции, вы можете сделать это, установив targetpath в своей задаче maven.В противном случае вам придется указать это в командной строке.

<project>
  <build>
    <directory>${targetpath}/${project.artifactId}</directory>
    <plugins>
     <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-site-plugin</artifactId>
      <version>2.3</version>
      <configuration>
       <inputDirectory>${targetpath}</inputDirectory>
      </configuration>
     </plugin>
    </plugins>
  </build>
</project>

mvn clean deploy -Dtargetpath=Path/To/Build/Output

Чтобы сборка оставалась неизменной для ваших разработчиков, вы можете создать профиль, который активируется, если targetpath не указан в командной строке.

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