m2e-wtp错误:<path> /target/m2e-wtp/web-resources/META-INF/MANIFEST.MF(没有这样的文件或目录)</path>

时间:2013-02-02 07:59:50

标签: eclipse m2e

我使用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中进行重建之前,它显然不会重新生成。

18 个答案:

答案 0 :(得分:101)

早于Luna的Eclipse版本

我不确定这是否是最好的事情,但我遵循了上述说明 here关于删除自动生成的Web资源文件夹,这似乎也解决了缺少MANIFEST.MF的问题:

  
      
  • 仅适用于您的项目:右键单击项目&gt;属性&gt; Maven&gt; WTP:选中“启用项目特定设置”并取消选中“Maven Archiver在构建目录下生成文件”
  •   
  • 在整个工作区:Window&gt;偏好&gt; Maven&gt; WTP:取消选中“Maven Archiver在构建目录下生成文件”
  •   

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

Eclipse Luna及更高版本

对于Eclipse Luna,你必须去:

  

偏好设置&gt; Maven&gt; Java EE集成并取消选中“Maven Archiver在构建目录下生成文件”。

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

答案 1 :(得分:33)

此解决方案适合我 右键单击Project - &gt;属性 - &gt; Maven - &gt; Java EE集成 - &gt;选中启用项目特定设置并禁用Maven归档文件生成文件

答案 2 :(得分:24)

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

项目&GT;清洁

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

答案 3 :(得分:6)

尝试Eclipse - &gt;项目 - &gt;清洁

然后右键单击您的项目 - &gt;团队 - &gt;分享项目 - &gt; SVN - &gt;选择你的svn和ok

一切都应该解决

答案 4 :(得分:3)

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

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

答案 5 :(得分:3)

右键单击Your Project,转到属性,然后转到Project Facets,现在转到右侧的Runtime选项卡并选择服务器并单击apply,错误消息将消失。

答案 6 :(得分:2)

当我们尝试使用mvn clean 安装进行maven构建时,

manifest.mf被破坏了。如果我们不想销毁manifest.mf文件,只需在命令提示符下输入命令mvn install。

如果我们错过了manifest.mf文件,我们可以通过取消选中&amp;检查&#34; Maven归档程序在构建目录下生成文件&#34; maven中的选项 - 如你所说的JAVA EE集成。

答案 7 :(得分:2)

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

答案 8 :(得分:2)

  

右键点击项目&gt;属性&gt; maven&gt;更新项目&gt;选择   最后三个选项&gt;点击确定

完成。它对我有用

答案 9 :(得分:0)

将manen更换为外部设备为我解决了问题 窗口 - &gt;偏好 - &gt; [在搜索框中搜索maven] - &gt;安装 添加完整的外部maven安装并选中其复选框。 申请并重新启动。

答案 10 :(得分:0)

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

答案 11 :(得分:0)

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

答案 12 :(得分:0)

对于Marte Eclipse:

转到:窗口&gt;偏好&gt; Marven&gt; Java EE集成

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

它的作品

答案 13 :(得分:0)

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

Check the option to automatically refresh resources in your maven build

答案 14 :(得分:0)

在我的案例中(Eclipse Neon),我启用 Maven Archiver在构建目录下生成文件

答案 15 :(得分:0)

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

这为我解决了。

答案 16 :(得分:-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目录并点击“redeploy” Eclipse的服务器视图。

答案 17 :(得分:-2)

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