Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么maven没有将我的头注入javadoc?_Maven_Javadoc_Maven Javadoc Plugin - Fatal编程技术网

为什么maven没有将我的头注入javadoc?

为什么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

我试图将Google Analytics tracking注入到我的javadocs中,但它不起作用

我的POM文件中有以下内容:

<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。