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

时间:2013-09-20 00:06:20

标签: java eclipse web-applications web-deployment

在Eclipse上出现了一些关于此错误的类似问题:

  

无法加载模块'xxx.war'的部署描述符   找到。

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

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

(主持人,请在判断此问题之前等我回答)

4 个答案:

答案 0 :(得分:13)

原因:移动了文件夹

解决方案:“右键单击动态Web项目 - > gt;属性 - >部署程序集。 在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文件,则不能将其视为正确的war文件(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

原因:正确的方面

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

  • 动态网络模块
  • 爪哇
  • Websphere Web(共存)
  • Websphere Web(扩展)

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

原因:通用Eclipse问题

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

对于我的情况,我正在生成" application.xml"使用Maven POM并解决问题的方法是更改​​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,它应该正常工作。

答案 3 :(得分:0)

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

enter image description here