疲累不堪的我一定不能在写完之前倒下。
Maven生成站点大家都会。mvn site,mvn site-deploy。不管是单模块,多模块一切OK。可是如果不凑巧,你如果为一个子项目专门 配置了 site.xml ,当你在父项目目录下运行mvn site-deploy时,很遗憾,他会一点作用都没有,使用的是 父项目 site.xml当你进入子项目目录,运行 mvn site-deploy,一切OK。
于是这五个小时我被折磨的蛋疼,学习的大量的Maven知识,实验的数百次(运行了一下history,发现其实只有73次)。于是倒下了。
在昏死中,我想起来了,site.xml支持继承,而如果要编写一个支持继承的插件,最起码的要求就是在运行父子项目的时候必须运行的是同一个插件。那么 解决方案如下:
在父项目的 pluginManagement 中明确 使用 maven-site-plugin。而在每一个项目中都明确使用 maven-site-plugin
代码如下:父项目pom.xml:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId> maven-site-plugin</artifactId>
<version> 2.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId> org.apache.maven.plugins</groupId>
<artifactId> maven-site-plugin</artifactId>
</plugin>
</plugins>
</build>
子项目pom.xml:
<build>
<plugins>
<plugin>
<groupId> org.apache.maven.plugins</groupId>
<artifactId> maven-site-plugin</artifactId>
</plugin>
</plugins>
</build>
解决之,终得眠
本文记录了解决Maven站点部署中遇到的一个特殊问题——当子项目配置了site.xml时,在父项目目录下运行mvnsite-deploy无效。文章详细介绍了如何通过正确配置maven-site-plugin来解决这一难题。
1846

被折叠的 条评论
为什么被折叠?



