【问题标题】:Eclipse The deployment descriptor of the module 'xxx.war' cannot be loaded or foundEclipse无法加载或找不到模块'xxx.war'的部署描述符
【发布时间】:2013-09-20 00:06:19
【问题描述】:

在 Eclipse 上针对此错误提出了许多类似的问题:

模块“xxx.war”的部署描述符无法加载或 找到了。

这是一个非常普遍的错误,在网上搜索后,我有多种不同的原因和解决方案。我将尝试在此处列出所有内容,因此其他人不必经历我所做的相同事情。

如果有人遇到其他原因和解决方案,也请在此处列出。 =)

(版主,请等我把答案放上来再判断这个问题)

【问题讨论】:

  • 您可以一口气发布您的问题和答案。

标签: java eclipse web-applications web-deployment


【解决方案1】:

原因:移动文件夹

解决方案:“右键单击您的动态 Web 项目 -> 属性 -> 部署程序集。 在 Web 部署程序集中,更改包结构以反映您的更改。那应该行得通。” (Eclipse deployment descriptor not found)

原因:升级 RAD/Eclipse

解决方案 A:在 application.xml (http://www-01.ibm.com/support/docview.wss?uid=swg21297984) 中添加和删除有问题的模块

解决方案 B:进入文件资源管理器并编辑 .settings/org.eclipse.wst.common.component 文件并确保列出了依赖模块 (https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014042762)

原因:依赖项目有错误

解决方案:如果依赖项目有错误,它不会被构建到WAR中,因此不能被引用。

原因:缺少 web.xml

解决方案:这是一个棘手的问题。没有 web.xml 的项目不会显示任何错误(至少对我而言)。但是没有 WEB-INF/web.xml 文件,它不能被认为是一个正确的战争文件(http://en.wikipedia.org/wiki/WAR_file_format_(Sun))。添加 web.xml 解决了这个问题。

原因:结构错误

解决方案:确保 war 文件包含在 ear 文件中。 (https://community.jboss.org/thread/162761?start=0&tstart=0&_sscc=t)

原因:在正确的方面

解决方案: “你必须具备这些方面:

  • 动态网页模块
  • Java
  • Websphere Web(共存)
  • Websphere Web(扩展)

此外,在您的构建路径 -> 库中,您应该有这些条目:

原因:一般 Eclipse 问题

解决方案:由于各种不相关的原因,日食有时会出现问题。要解决此问题,请关闭项目,重新打开、清理并重新编译。如果一切都失败了,甚至可以在新的工作空间中尝试。 (http://stubbisms.wordpress.com/2007/11/26/deployment-descriptor-of-the-module-yourappplicationwar-cannot-be-loaded/)

【讨论】:

  • 我还有一个原因,我有一些已经打包好的 war 和 ejb jar 文件。它们使用 maven 包含在内,在 org.eclipse.wst.common.component 中如下所示:<dependent-module archiveName="app-root-2.0.war" deploy-path="/" handle="module:/classpath/var/M2_REPO/workspace/app/app-lib/lib/app-root.war"> <dependency-type>uses</dependency-type> </dependent-module> app-root-2.0.war 文件与 WEB-INF 文件夹和 web.xml 文件形成良好的格式 你有吗也有解决方案吗?谢谢你!
【解决方案2】:

不得不从 WS 和磁盘中删除 EAR,但保留相关的 Web 项目,然后再次签出 EAR。 EAR 部署设置已损坏。对于任何有类似情况的人。

【讨论】:

    【解决方案3】:

    就我而言,我使用 Maven POM 生成“application.xml”,该问题的解决方案是更改 maven-ear-plugin 配置,如下所示:

    ....
    <artifactId>maven-ear-plugin</artifactId>
                <version>2.10.1</version>
                <configuration>
                    <version>7</version>
                    <defaultLibBundleDir>lib</defaultLibBundleDir>
                    <applicationName>MyCustom-ear</applicationName>
                    <fileNameMapping>no-version</fileNameMapping>
                    <modules>
    ....
    

    以上更改后,从 Eclipse 中删除项目或模块(但不要从磁盘中删除)。从文件浏览器(例如 Windows 资源管理器)转到项目文件夹并从项目或模块中删除 .settings 和目标文件夹和 .project 文件,然后将项目或模块重新导入 Eclipse,它应该可以工作。

    【讨论】:

      【解决方案4】:

      我有一个从 git 新克隆的项目,我在我的 EAR 项目中创建了一个 EarContent 文件夹。我能够将我的项目(EAR 资源)添加到 Liberty 服务器。
      手动添加 EarContent 文件夹,这是一个空白文件夹解决我的问题。

      【讨论】:

        猜你喜欢
        • 2011-06-26
        • 2016-09-26
        • 2016-09-16
        • 2020-02-15
        • 1970-01-01
        • 1970-01-01
        • 2012-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多