如何在站点APT文件中使用maven属性?例如,我想在index.apt中使用$ {project.version},因此在部署站点之前,我总是可以引用最新版本而无需手动更改index.apt文件.
我正在以目标构建我的 Maven 项目site
。输出中有 Javadoc 警告。在这种情况下,我的 Maven 构建必须失败。有没有办法做到这一点?
这是我的 POM 的代码片段(我使用的是 Maven 3.3):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.5</version>
<configuration>
<generateReports>true</generateReports>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<show>private</show>
<failOnError>true</failOnError>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud) 我有一个包含大量子模块的maven项目,我使用父pom来控制插件目录,如下所示
-pom.xml (parent pom)
+- submodule1
+- submodule2
+- src\site\site.xml
Run Code Online (Sandbox Code Playgroud)
因此src\site\site.xml
包含如下所示的自定义菜单
<project>
....
<body>
<menu name="Overview">
<item name="Introduction" href="introduction.html"/>
</menu>
<menu name="Development">
<item name="Getting started" href="designenv.html"/>
<item name="FAQ" href="designfaq.html" />
<item name="Javadoc" href="apidocs/index.html" />
</menu>
<menu ref="modules"/>
<menu ref="reports"/>
</body>
</project>
Run Code Online (Sandbox Code Playgroud)
在我运行mvn site:stage
root(从maven网站插件建议)后,父网页很好,<sub-modules>\index.html
而不包含任何菜单(没有项目信息和项目报告)
另外我注意到如果我mvn site
在子模块下运行,index.html左边没有任何菜单,而单独的html存在于像pmd.html,license.html这样的目录中
src\site\site.xml
每个子模块或其他更好的方法?pom.xml
某个地方做了些什么蠢事?任何提示?
[更新]也喜欢横幅图片,如果我像这样设置父母
<bannerLeft>
<name>edcp</name>
<src>images/mylogo.png</src>
</bannerLeft>
Run Code Online (Sandbox Code Playgroud)
在html中,指向错误方向的子模块的站点看起来像..\..\<submodule>
,而不是..\images\mylogo.png
在使用以下配置执行“clean skip:skip”后,我想跳过在“target/site”文件夹中生成“testapidocs”文件夹。
构建配置:
<build>
<plugins>
.................
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.2</version>
</plugin>
</plugins>
.........
</build>
Run Code Online (Sandbox Code Playgroud)
报告配置:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
当我运行“clean site:site”时,它会在“target”目录下创建以下文件夹:
目标/站点/apidoc
目标/站点/testapidocs - 想跳过这个
我想通过Maven的站点插件生成自定义报告,但只有这个自定义报告,而不是默认通过project-info-reports-plugin生成的所有报告.
问题:推荐的方法是什么?
我看到有跳过属性来禁用该插件提供的特定报告,但这看起来很乏味,所以我正在寻找一种方法来完全禁用该插件.
我有一个多模块项目,我想部署一个站点,但似乎我的站点部署配置不是由子项目子模块继承.
在文件系统上,它们相对于彼此定位:
/parent/
/moduleA/
/moduleB/
Run Code Online (Sandbox Code Playgroud)
当我跑:
mvn site-deploy -P documentation
Run Code Online (Sandbox Code Playgroud)
我的父项目已正确部署到:
但是没有像moduleA或moduleB这样的子项目在那里部署,因为我期望子模块继承父分发管理:
这是我的父pom.xml,我删除了一些无关的细节和报告插件(我包含了我的javadoc插件,它使用APIViz有点时髦,并且聚合以确保聚合父javadoc和子javadoc正确使用APIViz.):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.webwars</groupId>
<artifactId> parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>parent</name>
<distributionManagement>
<site>
<id>webwarsDev.website</id>
<url>scp://devServer/documentation/webwars/</url>
</site>
</distributionManagement>
<modules>
<module>../moduleA</module>
<module>../moduleB</module>
</modules>
<profiles>
<profile>
<id>documentation</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<executions>
<execution>
<id>verify_pmd</id>
<phase>verify</phase>
<goals>
<goal>pmd</goal>
</goals>
<configuration>
<linkXref>true</linkXref>
<minimumTokens>20</minimumTokens>
<targetJdk>1.6</targetJdk>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins> …
Run Code Online (Sandbox Code Playgroud) maven-2 javadoc documentation-generation maven-plugin maven-site-plugin
我们使用自定义doclet从自定义javadoc标记生成报告,并使用Maven网站插件和javadoc插件生成此报告和常规Java API文档.
POM的部分如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<reportSets>
<reportSet>
<id>html</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>custom_report</id>
<configuration>
...
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
Run Code Online (Sandbox Code Playgroud)
在Maven 2下,这很好用,但是在Maven 3中只生成了一个报告,它是POM中指定的最后一个报告(通过交换reportSet
元素来确定).
经过一些实验,我发现如果我将常规报告的目标从"javadoc"改为"test-javadoc",那么我从两个报告集中得到了输出.所以问题似乎是,使用Maven 3我无法生成两个使用相同javadoc-plugin目标的报告.
这是一个错误,还是有一些我错过的会员?我移离行家-Javadoc的插件安装reporting
到configuration
该网站插件如在描述http://maven.apache.org/plugins/maven-site-plugin-3.0-beta-3/maven-3.html,至徒劳无功.我正在使用Maven 3.0.4,maven-site-plugin 3.0-beta-3和maven-javadoc-plugin 2.8.1.
谢谢!
最近在我们的组织中,我们决定使用maven站点插件并在maven生成的站点中维护有关我们项目的所有文档.但是我没有找到任何方法来添加搜索功能,我唯一看到的是一些皮肤提供与谷歌搜索引擎的集成,但我不能使用它,因为我们在我们自己的网络中运行并且没有机会从外部使其"可转位".
所以,我的问题是,是否有人可以为此建议下降解决方案?我想开发一种maven插件,它可以运行lucene并自行索引所有内容,然后提供一个API来在网站内使用这个搜索,但我希望我不需要重新发明轮子:)所以任何建议都会欢迎来到这里
提前致谢
我在使用Java9(Oracle JDK 9)在Travis上运行CI构建时遇到问题.
我失败了maven-site-plugin
- 在移除之后一切都工作得很顺利.
我尝试删除其他所有内容以检查可能存在依赖性冲突,只剩下这一个插件构建仍然失败.它只是一个pom容器,仍然失败只有一个简单的站点插件(更新到声称已准备好java9的最新版本).
以下是所有资源:
在Web上寻找类似的问题我发现通常它的插件兼容性(所有插件更新)或不同的依赖版本,但我删除了所有这些并且它仍然失败.
构建在OpenJDK 9上本地运行完全正常.
-编辑-
从@nullpointer应用提示后:
项目https://github.com/BITPlan/com.bitplan.antlr的Maven构建 给出警告消息:
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.bitplan.antlr:com.bitplan.antlr:jar:0.0.1
[WARNING] Reporting configuration should be done in <reporting> section, not in maven-site-plugin <configuration> as reportPlugins parameter. @ line 213, column 20
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
Run Code Online (Sandbox Code Playgroud)
由于以下行中的maven-site-plugin配置。不幸的是,这里没有指向如何正确执行此操作的示例的指针,我在这里也无法在stackoverflow或通过搜索引擎中找到一个示例。
我找到的链接是:
但是我不知道这对于摆脱警告是什么意思。
原始问题:
为了使警告消失,需要进行哪些必要的修改?
在第一个答案之后添加评论:
当我移动
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.bitplan.antlr:com.bitplan.antlr:jar:0.0.1
[WARNING] …
Run Code Online (Sandbox Code Playgroud)