Java Wildfly部署非war扩展文件时没有任何错误,但在浏览器中访问应用程序时会显示一个404页未找到

Java Wildfly部署非war扩展文件时没有任何错误,但在浏览器中访问应用程序时会显示一个404页未找到,java,testing,deployment,war,wildfly-8,Java,Testing,Deployment,War,Wildfly 8,我正在学习使用NetBeans和Wildfly 8.2.0开发和部署web应用程序。我很好奇web应用程序是如何部署的,于是决定四处玩玩以满足我的好奇心 我创建了一个带有eCommerce.war文件的演示电子商务JSF应用程序,并使用Wildfly的管理面板进行了部署。它没有任何错误。然后,我将eCommerce.war的名称和扩展名改为testCommerce.abc,并尝试部署它。虽然不是.war扩展名,也不是.jar或.ear,但它部署成功,但当我试图在浏览器中访问它时,我得到了404。

我正在学习使用NetBeans和Wildfly 8.2.0开发和部署web应用程序。我很好奇web应用程序是如何部署的,于是决定四处玩玩以满足我的好奇心

我创建了一个带有eCommerce.war文件的演示电子商务JSF应用程序,并使用Wildfly的管理面板进行了部署。它没有任何错误。然后,我将eCommerce.war的名称和扩展名改为testCommerce.abc,并尝试部署它。虽然不是.war扩展名,也不是.jar或.ear,但它部署成功,但当我试图在浏览器中访问它时,我得到了404。我从管理面板中禁用了eCommerce.war应用程序,并尝试访问testCommerce.abc,但仍然得到了404

有人能解释为什么Wildfly在部署前不检查文件扩展名吗?是因为它需要存档文件和/或文件扩展名无关紧要吗?为什么部署成功后,我在浏览器中为.abc应用程序安装了404?是因为.war更改为.abc时目录路径发生了更改吗?我已经从管理面板发布了部署部分的图像以供验证


它只是部署到服务器上,但没有将其注册为webcontent。如果您查看服务器日志,它只会为您提供
JBAS018559:Deployed…
当您部署一场战争时,您还会得到
JBAS017534:Registered web context…
好的。这就解释了为什么它给出了404。但它首先是如何部署的呢?Wildfly是否足够聪明,能够识别一场战争,而不考虑其范围?难道文件扩展名一开始就不能让任何程序识别文件吗?为什么Wildfly能够部署任何脱离头部的扩展文件?我猜它会尝试解压缩并查找部署描述符。如果找不到,则不会注册为web上下文。我只是更改了文件扩展名,而不是内容。如果它能够部署它,我假设它一定已经解压了文件。部署描述符必须在那里。