为了为我们的项目提供一体化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