爲了爲我們的項目提供一體化Jar,我們想知道是否可以將項目生成的網站(通過網站插件生成)包含到生成的項目包中? 這背後的想法非常簡單,我們有一個名爲「sample」的項目,演示了我們的API的用法,並且我們想給用戶提供關於API及其在單個包中的使用情況的文檔。 是否有可能使用Maven創建這樣一個罐子?將Maven生成的網站添加到生成的包中
在此先感謝!
爲了爲我們的項目提供一體化Jar,我們想知道是否可以將項目生成的網站(通過網站插件生成)包含到生成的項目包中? 這背後的想法非常簡單,我們有一個名爲「sample」的項目,演示了我們的API的用法,並且我們想給用戶提供關於API及其在單個包中的使用情況的文檔。 是否有可能使用Maven創建這樣一個罐子?將Maven生成的網站添加到生成的包中
在此先感謝!
使用site:jar
,然後使用程序集插件創建一個everthing包應該是可能的。
我在這裏發佈文檔,提供一個解決方案,用於通過Maven 3附帶的Maven生成站點構建一個war文件。我已將所需的構建插件包裝到由Hudson激活的配置文件中,並將BUILD_NUMBER系統屬性。除了將網站目錄添加到war之外,此配置還會生成-javadoc.jar工件(具有attach-javadocs執行的單獨maven-javadoc-plugin負責此操作,如果不需要,可以將其刪除)。
<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。如果你有一個依賴於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>
任何方式將其轉換爲戰爭文件?它真正需要的是一個通用的web.xml文件。這將使其可部署到Web應用程序容器 – spy 2015-07-27 15:42:46
訣竅是配置行家現場-插件在相包之前發生,以生成位點(例如準備包),然後包括所生成的位點引入該web應用程序正確地配置行家戰的插件。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.5</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>site</goal>
<goal>stage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<webResources>
<resource>
<directory>${basedir}/target/staging</directory>
<includes>
<include>**</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
是的,這可能是一個有趣的解決方案。 我要試一試。 – reef 2010-02-24 17:09:51
我正在尋找類似的東西,爲你做這個工作嗎?你能否發佈一些更多的細節。 – Solubris 2012-10-02 03:38:23