Glassfish 部署错误 "Archive type of MyProject.jar was not recognized"

Glassfish deploy error "Archive type of MyProject.jar was not recognized"

我创建了一个动态 Web 应用程序,我想用 glassfish 部署它。我已成功将我的资源构建到 MyProject.jar。但是当我部署它时,显示以下错误:

remote failure: Archive type of /home/davenlin/MyProject/build/MyProject.jar was not recognized

我的项目只是一个普通的 Restful 应用程序,而不是 ejb 应用程序,所以我不知道是否必须生成 MyProject.war 而不是 MyProject.jar。

请帮帮我。谢谢!

好吧,因为我的评论相当难以解释:
Web 应用程序由应用程序服务器或 servlet 容器处理。
两者都为您做了很多工作,而且 Web 应用程序无法与
相提并论 桌面或独立 java 应用程序。
虽然您的独立应用程序部署为 jar - 文件然后由 JVM 执行,但
Web 应用程序是 由容器(应用服务器/servlet 容器)执行。
因此,这确实需要您的应用程序提供额外的配置
并使存档本身具有不同的结构。
因此,即使您只是公开一些 Web 服务来构建 restful
应用程序,您的应用程序服务器也会为您做一些事情,例如
对于war向右 类 提出请求,将查询和 post
参数转换为 java - 对象可由您自己 类 分别访问
您自己的对象并将您的响应返回给客户。
有趣的是:
web-archive中的附加文件通常是xml-文件和web-
相关的文件如html,css,js.
所以这不会区分 war 和 jar,因为您还可以将
其他资源打包在一个 jar 中。
war 文件的基本但现在已过时的要求是它包含
一个部署描述符(又是一个 xml - 文件)
配置你的应用程序,它的上下文和相关的url(更具体:url - 模式)它使用
,但由于这个要求已经过时,有人可能仍然认为这种区分已经过时, 也。