70

我使用 m2e 1.2.0 和 m2e-wtp 0.16.0,有时我的 Eclipse 构建失败并出现错误:

<path>/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF (No such file or directory)

做 a 可以暂时解决问题Maven->Update project...,但过一会又会出现错误。不知道触发器到底是什么......

有关如何永久解决此问题的任何建议?

[编辑] 我发现当我直接使用 Maven 命令行在外部构建项目时触发了该问题。这将删除 m2e-wtp 生成的默认 MANIFEST.MF,并且它显然不会重新生成,直到您在 Eclipse 中进行重建。

4

18 回答 18

108

Luna 之前的 Eclipse 版本

我不确定这是否是最好的做法,但我按照 此处提到的关于摆脱自动生成的 Web 资源文件夹的说明进行操作,这似乎也解决了缺少 MANIFEST.MF 的问题:

  • 仅在您的项目上:右键单击项目> Properties > Maven > WTP:选中“启用项目特定设置”并取消选中“Maven Archiver 在构建目录下生成文件”
  • 在整个工作区:Window > Preferences > Maven > WTP:取消选中“Maven Archiver 在构建目录下生成文件”

当我们真正想要打包/构建项目时,我们实际上生成清单条目作为 maven-war-plugin 的一部分,但我不认为 m2e-wtp 使用它。无论如何,在 m2e-wtp 为在 Eclipse 中使用而创建的构建中,清单文件与我们无关。

Eclipse Luna 及更高版本

对于 Eclipse Luna,你必须去:

Preferences > Maven > Java EE Integration 并取消选中“Maven Archiver 在构建目录下生成文件”。

Eclipse Luna 在项目属性和 WTP 部分没有路径

于 2013-06-03T07:17:59.370 回答
34

该解决方案对我有用右键单击项目->属性-> Maven-> Java EE集成->选中启用项目特定设置并禁用Maven归档器生成文件

于 2014-03-28T07:31:13.553 回答
28

尝试选择您的项目,并使用菜单清理它:

项目>清洁

然后刷新你的 pom.xml。这对我有用。

于 2014-11-12T04:49:19.247 回答
6

尝试 Eclipse -> 项目 -> 清理

然后右键单击您的项目->团队->共享项目-> SVN->选择您的svn并确定

一切都应该解决

于 2014-10-06T06:12:49.857 回答
4

右键单击您的项目,转到属性,然后转到项目方面,现在转到右侧的运行时选项卡并选择服务器并单击应用,错误消息将消失。

于 2015-12-19T11:38:47.877 回答
3

在您的 pom.xml 文件中检查以下内容,

<build>
<finalName>Write a file name which is Your Maven Buid Name</finalName>
</build>
于 2015-10-01T13:48:53.530 回答
3
  1. 转到 pom.xml
  2. Ctrl+a然后Ctrl+x然后Ctrl+s然后Ctrl+v然后Ctrl+s
  3. 右键单击项目。Maven -> 更新项目

这为我解决了。

于 2019-03-03T18:08:00.267 回答
2

当我们尝试使用 mvn clean install进行 maven 构建时 manifest.mf 被破坏。如果我们不想破坏 manifest.mf 文件,只需在命令提示符下输入命令 mvn install 即可。

如果我们错过了 manifest.mf 文件,我们可以通过取消选中并检查 maven - JAVA EE 集成中的“Maven 归档器在构建目录下生成文件”选项来生成,如你所说。

于 2014-07-18T07:31:24.417 回答
2

清理所有项目将解决此问题。

于 2016-06-25T19:35:10.733 回答
2

右键单击项目>属性> maven>更新项目>选择最后三个选项>单击确定

完毕。它对我有用

于 2018-02-27T04:35:52.010 回答
0

将 manen 替换为外部安装为我解决了这个问题。
Window -> Preferences -> [search maven in the search box] -> Installation 添加完整的外部 maven 安装并选中其复选框。应用并重新启动。

于 2014-12-25T06:06:42.337 回答
0

清理项目并没有解决问题,在构建路径中添加了 2 个外部 jar,将它们删除并将它们移动到 pom.xml 中确实为我解决了这个问题。

于 2015-04-28T09:54:33.900 回答
0

我使用 eclipse Luna 并发现启用项目特定设置无用。最后在项目.settings中找到配置文件org.eclipse.m2e.wtp.prefs,修改配置“org.eclipse.m2e.wtp.enableM2eWtp=true”。它在 Maven 构建项目后工作。希望这对遇到与我相同情况的人有所帮助。:D

于 2015-10-06T05:43:01.407 回答
0

对于 Marte Eclipse:

转到:窗口 > 首选项 > Marven > Java EE 集成

取消选中 Marven Archiver 在构建目录下生成文件。

其作品

于 2015-12-16T13:44:43.230 回答
0

为了确保资源被正确刷新,当 maven 清理目标时,您可以设置 maven build 以自动刷新项目 + 目标文件夹等。

选中自动刷新 Maven 构建中的资源的选项

于 2017-06-07T04:14:05.143 回答
0

在我的情况下(Eclipse Neon),我启用了Maven Archiver 在构建目录下生成文件

于 2017-11-28T13:42:32.773 回答
-1

m2e-wtp 插件可能会在 /target/m2e-wtp/web-resources/META-INF 文件夹中生成一个几乎空的 MANIFEST.MF,无论您将真正的 MANIFEST.MF 放在哪里,请查看 Virgo 的管理控制台。只需浏览捆绑包的“捆绑包”类别。您将看到哪些包正在被导入和导出 FOR REAL。

因此,您可以将 MANIFEST.MF 复制到 /$VIRGO_BASE/stage/$BUNDLE_WEBAPP/META-INF 目录,然后在 Eclipse 的服务器视图中点击“重新部署”。

于 2013-02-02T08:08:33.260 回答
-2

就在上面一行的下方,我收到了一条附加信息,上面写着“不同步”我只运行了项目清理“我的项目”和宾果游戏,它对我有用..

于 2014-07-28T13:50:09.240 回答