m2e-wtp错误:<路径> /target/m2e-wtp/web-resources/META-INF/MANIFEST.MF(无此类文件或目录)


68

我使用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)

可以通过暂时解决此问题Maven->Update project...,但过一会儿该错误会再次出现。不知道触发的确切原因是...。

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

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

Answers:


107

早于Luna的Eclipse版本

我不确定这是否是最好的方法,但是我遵循了此处提到的 有关摆脱自动生成的Web资源文件夹的说明,这似乎也解决了缺少MANIFEST.MF的问题:

  • 仅在您的项目上:右键单击项目>属性> Maven> WTP:选中“启用项目特定设置”,然后取消选中“ Maven Archiver在构建目录下生成文件”
  • 在整个工作区上:窗口>首选项> Maven> WTP:取消选中“ Maven Archiver在生成目录下生成文件”

实际上,当我们实际要打包/构建项目时,我们实际上将清单项作为maven-war-plugin的一部分生成,但是我不认为m2e-wtp使用此清单项。无论如何,清单文件对于我们在m2e-wtp创建供eclipse内使用的构建中无关。

Eclipse Luna及更高版本

对于Eclipse Luna,您必须执行以下操作:

首选项> Maven> Java EE集成,然后取消选中“ Maven Archiver在构建目录下生成文件”。

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


从那以后,我删除了m2e-wtp,这默认情况下已经为我解决了问题。因此,我无法轻松验证此答案,但它肯定是一个不错的选择
Jelle van Geuns 2013年

25
对于Eclipse Luna,您必须转到:首选项> Maven> Java EE集成,然后取消选中“ Maven Archiver在构建目录下生成文件”。Eclipse Luna在项目“属性”和“ WTP”部分没有路径。
Vitor Braga 2015年

1
答案已过时-请参阅@VitorBraga的评论
OddDev

对我来说,我可以通过取消选中它来解决它-解决工作区项目中的依赖关系
vishnu viswanath 16-4-16

使用Eclipse Neon后,我启用了(选中)Maven Archiver,在生成目录下生成文件
-eeadev


28

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

项目>清洁

然后刷新您的pom.xml。那对我有用。



4

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


3

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

<build>
<finalName>Write a file name which is Your Maven Buid Name</finalName>
</build>

3
  1. 转到pom.xml
  2. Ctrl + a然后Ctrl + x然后Ctrl + s然后Ctrl + v然后Ctrl + s
  3. 右键单击项目。Maven->更新项目

这为我解决了。


2

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

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



2

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

做完了 对我有用


0

将manen替换为外部安装解决了我的问题。
窗口->首选项-> [在搜索框中搜索maven]->安装添加完整的外部maven安装并选中其复选框。应用并重新启动。


0

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


0

我使用Eclipse Luna并发现它对启用项目特定设置没有用。最后,我在项目.settings中找到了配置文件org.eclipse.m2e.wtp.prefs,并将配置更改为“ org.eclipse.m2e.wtp.enableM2eWtp = true”。它在maven构建项目后起作用。希望这对与我相遇的人们有所帮助。:D


0

对于Marte Eclipse:

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

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

其作品



0

就我而言(Eclipse Neon),我启用了Maven Archiver在build目录下生成文件


-1

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

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


4
问题似乎是相反的:我没有MANIFEST.MF文件,m2e-wtp正在寻找一个。在执行Maven->Update project...默认操作后,将生成空MANIFEST.MF,但是在某些情况下会以某种方式将其删除并且无法可靠地重新生成。不知道处女座是什么,但我没有使用。
Jelle van Geuns

-2

在上述行的正下方,我得到了一条额外的信息,说“不同步”,我只运行项目清理的“我的项目”和宾果游戏,它对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.