Я размещаю здесь, чтобы задокументировать решение для создания военного файла с созданным maven сайтом, включенным в недавний Maven 3. Я завернул необходимые плагины сборки в профиль, который активируется Хадсоном, устанавливающим системное свойство BUILD_NUMBER , В дополнение к добавлению каталога сайта в войну, эта конфигурация генерирует артефакт -javadoc.jar (за это отвечает отдельный maven-javadoc-плагин с приложением attach-javadocs, и вы можете удалить его, если это не требуется).
<profiles>
<!-- We want the javadoc jar and the site within the war only when building on Hudson -->
<profile>
<activation>
<property>
<name>BUILD_NUMBER</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0-beta-3</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
</reportPlugins>
</configuration>
<executions>
<execution>
<id>attach-site</id>
<phase>prepare-package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>${project.build.directory}/site</directory>
<targetPath>doc</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Вот такой же профиль, но для Maven2. Это полезно, если у вас есть конфигурация проекта hudson, основанная на плагине maven2 hudson.
<profiles>
<!-- We want the javadoc jar and the site within the war only when building on Hudson -->
<profile>
<activation>
<property>
<name>BUILD_NUMBER</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>${project.build.directory}/site</directory>
<targetPath>doc</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>attach-site</id>
<phase>prepare-package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</profile>
</profiles>
Да, это может быть интересное решение. Я собираюсь попробовать. – reef
Я ищу, чтобы сделать подобное, сделал ли это работу для вас? Не могли бы вы разместить дополнительную информацию, пожалуйста. – Solubris