Java Eclipse模块的部署描述符';xxx.战争';无法加载或找到

Java Eclipse模块的部署描述符';xxx.战争';无法加载或找到,java,eclipse,web-applications,web-deployment,Java,Eclipse,Web Applications,Web Deployment,关于Eclipse上的此错误,有许多类似的问题提出: 无法加载或删除模块“xxx.war”的部署描述符 找到了 这是一个非常普遍的错误,在浏览网页之后,我有多种不同的原因和解决方案。我将尝试在这里列出它们,这样其他人就不必经历与我相同的事情 如果有人遇到其他原因和解决方案,请在此处也列出他们。=) (主持人,请等我给出答案后再判断这个问题)原因:移动了文件夹 解决方案:“右键单击动态web项目->属性->部署程序集。 在Web部署程序集中,更改包结构以反映您的更改。这应该可以正常工作。“ ()

关于Eclipse上的此错误,有许多类似的问题提出:

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

这是一个非常普遍的错误,在浏览网页之后,我有多种不同的原因和解决方案。我将尝试在这里列出它们,这样其他人就不必经历与我相同的事情

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


(主持人,请等我给出答案后再判断这个问题)

原因:移动了文件夹

解决方案:“右键单击动态web项目->属性->部署程序集。 在Web部署程序集中,更改包结构以反映您的更改。这应该可以正常工作。“ ()

原因:升级的RAD/Eclipse

解决方案A:在application.xml()中添加和删除有问题的模块

解决方案B:进入文件资源管理器并编辑.settings/org.eclipse.wst.common.component文件,确保列出了依赖模块()

原因:从属项目有错误

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

原因:缺少web.xml

解决方案:这是一个棘手的问题。没有web.xml的项目不会显示任何错误(至少对我来说)。但是如果没有WEB-INF/WEB.xml文件,就不能将其视为一个合适的war文件()。添加web.xml解决了这个问题

原因:结构错误

解决方案:确保war文件包含在ear文件中。()

原因:在正确的方面

解决方案: “您必须具备以下方面:

  • 动态Web模块
  • 爪哇
  • WebSphereWeb(共存)
  • WebSphereWeb(扩展)
此外,在构建路径->库中,您应该有以下条目:

  • 耳库
  • JRE系统库[IBM JDK]
  • Web应用程序库
  • Websphere Application Server[您的版本]” ()
原因:通用Eclipse问题


解决方案:eclipse有时会因为各种不相关的原因而堵塞。要解决此问题,请关闭项目,重新打开、清理并重新编译。如果其他一切都失败了,甚至可以在新的工作空间尝试。()

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

对于我的案例,我使用Maven POM生成“application.xml”,解决方案是更改Maven ear插件配置,如下所示:

....
<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>
....
。。。。
maven耳朵插件
2.10.1
7.
解放党
我的耳朵
无版本
....

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

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


你可以一次发布你的问题和答案。我还有另一个原因,我有一些已经打包好的war和ejb jar文件。它们是使用maven包含的,在org.eclipse.wst.common.component中如下所示:
使用
app-root-2.0.war文件格式良好,包含WEB-INF文件夹和WEB.xml文件。您也有解决方案吗?如果你愿意,谢谢你!