mavenArchiver.getManifest()中的m2e错误

sco*_*tmf 96 eclipse maven-3 maven maven-jar-plugin m2e

我在STS中看到一个错误,我不确定如何调试它.搜索我只看到错误的模糊引用,没有解决方案.

错误是:

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>第1行Maven配置问题

问题:任何人都可以就如何获得有关该问题的更多信息提出任何建议,以便进一步调试或任何可能的解决方案?

可能还有一些关于方法功能的更多背景信息.与该MavenArchiver.getManifest()方法关联的javadoc 不是非常详细,我看不到堆栈跟踪.我已经尝试过几次刷新和更新项目和相关项目,包括清除我当地的m2回购.

STS信息:

  • 版本:3.7.3.RELEASE
  • Build Id:201602250940
  • 平台:Eclipse Mars.2(4.5.2)

m2e信息:

  • 版本:1.6.2.20150902-0002

A_D*_*teo 190

在更新maven-jar-plugin到最新版本(在撰写本文时)后,我遇到了同样的问题3.0.2.
Eclipse 4.5.2开始pom.xml使用org.apache.maven.archiver.MavenArchiver.getManifest错误标记文件,并且Maven > Update Project ..无法修复它.

简单的解决方案:降级到2.6版本
确实可能的解决方案是回到版本2.6,项目的进一步更新将删除任何错误.但是,这不是理想的情况,可以使用更好的解决方案:更新m2e扩展(Eclipse Maven集成).

更好的解决方案:更新Eclipse m2e扩展
Help > Install New Software ..,添加一个新的存储库(通过Add ..选项),指向以下任何URL:

  • https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/0.17.2/N/LATEST/ 要么

  • http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

然后像往常一样关注更新向导.然后Eclipse需要重启.之后,有关Maven项目的进一步更新项目..将删除任何错误,您的Maven构建可以享受最新maven-jar-plugin版本的好处.


产生额外票据
的原因的问题是,从版本3.0.0上,有关组件时,maven-archiver以及相关的plexus-archiver已经升级到更新的版本,打破了内部的用途(通过反射)m2e在Eclipse集成.然后,唯一的解决方案是正确更新Eclipse,如上所述.
另请注意:虽然Eclipse最初会报告错误,但Maven构建(例如从命令行)将继续完美运行,此问题仅与Eclipse-Maven集成有关,即与IDE有关.

  • 通过将`maven-war-plugin`从`3.0.0`降级到2.6`,我能够解决类似的问题. (3认同)
  • 对于Eclipse Mars正常工作:http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/.将其置于安装 - >使用字段,'输入'.检查列表中的m2e扩展名(只有一个选项). (3认同)

sco*_*tmf 15

我找到了答案!我查看了pom中任何依赖于maven-archiver并发现maven-jar-plugin的插件.它使用的是最新的3.0.0版本.当我降级到2.6时,似乎解决了这个问题:-)


Ala*_*udi 14

我在弹簧启动项目中遇到了同样的问题.解决方案是将jar maven-jar-plugin从3.2降级到2.6.我只想将它添加到项目pom中:

<properties>        
    <maven-jar-plugin.version>2.6</maven-jar-plugin.version>
</properties>
Run Code Online (Sandbox Code Playgroud)


小智 11

我有完全相同的问题.我的环境是:

  • Spring STS 3.7.3.RELEASE
  • Build Id:201602250940
  • 平台:Eclipse Mars.2(4.5.2)

问题的症状是:

  1. 我的PM文件上有一个红色错误标志.并且错误的描述如此处提出的原始问题中所述.
  2. 项目中的几个Java文件中存在已知的编译问题,但是eclipse仍然没有在编辑器窗格中将它们标记为错误以及左侧的项目浏览器树.

关于更新m2e扩展的解决方案(如上所述)对我有用.

更好的解决方案(我的推荐):


小智 7

我在弹簧启动项目中遇到了同样的问题.解决方案是将spring-boot-starter-parent依赖版本从2.0.0.RELEASE降级到1.5.10.RELEASE(您可以移动到任何稳定版本)

从:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
Run Code Online (Sandbox Code Playgroud)

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Run Code Online (Sandbox Code Playgroud)


Vai*_*rma 7

我也遇到了同样的问题,它通过将版本3.2.0更改为2.6得到解决,如下面的pom.xml片段所示

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <warSourceDirectory>src/main/webapp</warSourceDirectory>
        <warName>Spring4MVC</warName>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)