当前位置: 首页 > 面试题库 >

maven-javadoc-plugin中断了mvn版本:perform

丁兴德
2023-03-14
问题内容

我想执行mvn release:perform的三个项目,我已经发布到我们的Nexus服务器 众多
,在过去的时间。今天突然,由于没有明显的原因,所有发行版都没有执行目标org.apache.maven.plugins:maven-javadoc- plugin:2.10:jar (attach-javadocs)

启用(-e-X)的完整堆栈跟踪和调试日志记录后,我看到数百行有关缺少包的错误:

...    
package org.apache.http does not exist
package org.slf4j does not exist
package org.joda.time does not exist
...

但是,所有这些软件包都在我的本地存储库和Nexus服务器中。而且,我没有从那里得到任何这些错误mvn clean install,并且所有项目(Java
Web应用程序)实际上都是从Intellij启动的,没有任何问题-显然,我实际上并没有丢失数百个软件包。

有什么能阻止mvn release:perform从发现这些包时mvn clean install,并mvn release:prepare没有任何问题?


问题答案:

关于更新到似乎存在一系列问题maven-javadoc- plugin。参见https://issues.apache.org/jira/browse/MJAVADOC-408。

mvn如果没有另外指定,我可以看到使用最新版本的“内置”插件的好处(相对于给定Maven版本的“固定版本”),但这意味着插件维护人员必须进行回归测试。在插件发布时针对每个版本的Maven。也许错过了一些东西。

一种解决方法是maven-javadoc-plugin在组织的超级POM中显式指定以前的版本,或者,如果无法迅速更改超级POM,则指定项目POM:

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-javadoc-plugin</artifactId>
      <version>2.9.1</version>
    </plugin>
  </plugins>
</pluginManagement>

今天,我们的CI钻机(Jenkins)遇到了同样的问题。希望有一个新maven-javadoc- plugin的依赖树更新后可以推送(如果确实存在问题)。FWIW,我们使用的是3.0.5(是的,出于各种原因,这很可悲)。

更新2014-09-24

这整个hubub似乎起源于响应maven-javadoc- plugin维护者一个尚未将要关闭的问题在java-1.8.0-openjdk中MJAVADOC-398。我不知道为什么有人会针对未解决的下游项目缺陷发布突破性的解决方法。

更新2014-10-02

MJAVADOC-406已解决,Maven
Central中有可用的2.10.1版本,maven-javadoc-plugin您附近可能有许多存储库。

使用非固定的javadoc插件版本的构建现在应该恢复正常。

故事的道德启示

行家,已经被警告。锁定您的插件依赖项,因为它们可能会流氓。

PS,MJAVADOC-408已作为MJAVADOC-407的副本被关闭。



 类似资料:
  • 我在使用Java 8和maven 3.0.5运行release:perform时遇到了问题。生成Javadoc时,我得到一个错误。我已经添加了javadoc插件: 奇怪的是,当我运行“mvn javadoc: javadoc”或“mvn javadoc: jar”时,它可以正常工作。有人对此进行修复吗? 生成所有内容后,我收到此错误:

  • Maven是3.1.0。 2.2失败的原因是什么?如何解决这个问题?

  • 我使用低于IDE使用的系统环境JAVA_HOME(1.8)启动NetBeans IDE12.0(14)。Maven执行的IDE输出窗口似乎显示项目是用JDK14的JAVA_HOME运行的,以这种方式运行项目文件。 但是exec-maven-plugin在 这似乎表明Maven在IDE中运行在1.8下,忽略了IDE自己的重写设置JAVA_HOME 14。它使用JAVA_HOME中设置的JDK,因为如

  • 由于未创建javadocs而失败。所以我试着跑 我和我看到它失败了,因为源代码中的javadoc注释没有定义所有的参数和返回值。错误的格式如下: 然而,这曾经起作用。那是什么改变了? 当我搜索参数additionalParam时,它不会出现。我搞不懂这怎么会起作用。搜索答案有些人说使用我正在使用的东西,有些人说使用AdditionalJOption。当Javadoc标记不完整时,请参见Maven在

  • 路径:%JAVA_HOME\bin;%M2_HOME\bin;... java版本工作良好 java版本“1.8.0_45”java(TM)SE运行时环境(build1.8.0_45-B15)java HotSpot(TM)64位服务器VM(build25.45-B02,混合模式) “Mvn'n'est pas reconnu en tant que commande interne ou ext

  • 在执行 命令时,我想尝试使用版本参数配置 参数。但我还没有找到一种方法来成功地做到这一点。 例如,如果我的主干中有一个版本为 1.0-SNAPSHOT 的项目,我想使用 选项创建一个分支,并在 branchName 中指定一个具有当前项目版本 (1.0-SNAPSHOT) 的 - 作为参数。 我已经尝试执行< code > mvn release:branch-DbranchName = VERS