【问题标题】:m2e-wtp error: <path>/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF (No such file or directory)m2e-wtp 错误:<path>/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF(没有这样的文件或目录)
【发布时间】:2013-01-17 13:37:32
【问题描述】:

我使用 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-&gt;Update project...暂时解决,但过一段时间又会出现错误。不确定触发器到底是什么......

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

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

【问题讨论】:

    标签: eclipse m2e


    【解决方案1】:

    m2e-wtp 插件可能会在 /target/m2e-wtp/web-resources/META-INF 文件夹中生成一个几乎为空的 MANIFEST.MF,无论如何 你放置真正的 MANIFEST.MF 的地方 看看 Virgo 的管理控制台。只需浏览捆绑包的“捆绑包”类别。你会 查看正在导入和导出的软件包是什么。

    所以你可以做的是将 MANIFEST.MF 复制到 /$VIRGO_BASE/stage/$BUNDLE_WEBAPP/META-INF 目录并点击“重新部署” Eclipse 的服务器视图。

    【讨论】:

    • 问题似乎是相反的:我没有 MANIFEST.MF 文件,m2e-wtp 正在寻找一个。在执行Maven-&gt;Update project... 之后,将生成一个默认的空 MANIFEST.MF,但在某些情况下它会以某种方式被删除并且不能可靠地重新生成。不确定 Virgo 是什么,但我没有使用它。
    【解决方案2】:

    Luna 之前的 Eclipse 版本

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

    • 仅在您的项目上:右键单击项目 > 属性 > 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 部分没有路径

    【讨论】:

    • 我已经删除了默认为我解决问题的 m2e-wtp。所以我不能轻易验证这个答案,但它看起来确实是一个不错的选择
    • 对于 Eclipse Luna,你必须去:Preferences > Maven > Java EE Integration 并取消选中“Maven Archiver 在构建目录下生成文件”。 Eclipse Luna 在项目属性和 WTP 部分没有路径。
    • 答案已过时 - 请参阅@VitorBraga 的评论
    • 对我来说,我可以通过取消选中 - 解决工作区项目的依赖关系来修复它
    • 拥有 Eclipse Neon,我启用(选中)Maven Archiver 在构建目录下生成文件
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:
      当我们尝试使用 mvn clean install 进行 maven 构建时,

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

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          尝试 Eclipse -> 项目 -> 清理

          然后右键你的项目 --> 团队 --> 共享项目 --> SVN --> 选择你的 svn 就可以了

          一切都应该解决

          【讨论】:

            【解决方案7】:

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

            项目>清理

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

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                【解决方案9】:

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

                【讨论】:

                  【解决方案10】:

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

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

                  【讨论】:

                    【解决方案11】:

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

                    【讨论】:

                      【解决方案12】:

                      对于 Marte Eclipse:

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

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

                      成功了

                      【讨论】:

                        【解决方案13】:

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

                        【讨论】:

                          【解决方案14】:

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

                          【讨论】:

                            【解决方案15】:

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

                            Check the option to automatically refresh resources in your maven build

                            【讨论】:

                              【解决方案16】:

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

                              【讨论】:

                                【解决方案17】:

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

                                完成。它对我有用

                                【讨论】:

                                  【解决方案18】:
                                  1. 转到 pom.xml
                                  2. Ctrl+a 然后 Ctrl+x 然后 Ctrl+s 然后 Ctrl+v 然后 Ctrl+s
                                  3. 右键单击项目。 Maven -> 更新项目

                                  这已经为我解决了。

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 2013-07-01
                                    • 1970-01-01
                                    • 2017-07-15
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2013-01-02
                                    • 2013-04-28
                                    • 2015-01-15
                                    相关资源
                                    最近更新 更多