为什么maven没有将我的头注入javadoc?
我试图将Google Analytics tracking注入到我的javadocs中,但它不起作用 我的POM文件中有以下内容:为什么maven没有将我的头注入javadoc?,maven,javadoc,maven-javadoc-plugin,Maven,Javadoc,Maven Javadoc Plugin,我试图将Google Analytics tracking注入到我的javadocs中,但它不起作用 我的POM文件中有以下内容: <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifact
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<!-- GA Tracking code -->
<header>
<![CDATA[
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXX-1', 'auto');
ga('send', 'pageview');
</script>
]]>
</header>
</configuration>
</plugin>
</plugins>
</reporting>
org.apache.maven.plugins
maven javadoc插件
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
ga(“创建”、“UA-XXXXXX-1”、“自动”);
ga(‘发送’、‘页面浏览’);
]]>
运行mvnjavadoc:aggregate
构建我的javadoc而不抛出错误,但是找不到我的头
这里我缺少什么?我没有看到它周围的缺陷,但我认为使用
下的pom.xml
中的值注入该属性对于该属性来说是不正确的
有关实际解决方案,请参见我的其他答案
您可以尝试以下方法:
mvn javadoc:aggregate-Dheader=“(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| function(){(i[r].q=i[r].push(参数)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(参数)}推送(参数)},i[r]),l=1*new Date();www.ga'/'('create','UA-XXXXXX-1','auto');ga('send','pageview')
丑陋我知道,但不确定是否有办法让它工作,除非根本问题得到解决
另一方面,您可以尝试一个特定的较旧版本的
maven javadoc插件
,看看它是否可以使用。或者引发一个bug,这样他们就可以解决这个问题。好的-我知道您的做法有什么不同
虽然我的另一个答案提供了一个解决方法,但它并没有正确地解释问题到底是什么。但这个答案让我找到了正确的答案,所以我想我不会删除它
虽然您的POM
配置看起来正确,但您真正应该运行的是
mvn站点
而不是在
部分配置的任何特定插件的任何特定目标。阅读,我认为它应该是这样工作的,但似乎没有!当运行特定的报告目标时,报告插件的
似乎被完全忽略了,而实际上它应该尝试检查是否存在of.财产一次
在任何情况下,这就是Maven
的行为-因此它不是任何特定插件的bug
mvn站点
它只使用
元素中指定的每个报告插件的元素中定义的参数,即。
站点始终忽略在中定义的参数
中指定的每个插件的元素
mvn aplugin:areportgoal
它首先使用中定义的参数
中指定的每个报告插件的元素
元素;如果找不到参数,它将查找
在每个插件的
元素中定义的参数
在
中指定
这太尴尬了 内容一直在插入,问题是我在使用IntelliJ的find函数来查看标题注入是否有效 不幸的是,
target
目录被排除在搜索索引之外,因此没有搜索这些文件(即使明确选择了文件夹)
问题中的代码运行得很好。谢谢。我明天会尝试该版本,如果它有效,我也会接受它。
mvn aplugin:areportgoal
声明:“它首先使用元素中指定的每个报告插件的元素中定义的参数”。我认为这意味着它将在
中查看。“我认为这意味着它将出现在
"-我也是。因此我的答案中存在不确定性。即使在运行特定目标时,它也应该阅读
,但显然它没有-因此它要么是Maven
代码的错误,要么是文档的错误。实际上,似乎头
选项根本不起作用…从CLI尝试它时只需要一个简单字符串无法注入任何内容。真的吗?这对我来说确实有效:mvn javadoc:aggregate-Dheader=headerstringattroprightofPage
。你应该在每个javadoc页面的右上角看到这个字符串。你使用的maven javadoc插件的版本是什么?最新版本中可能有bug。