我正在尝试使用Java进行Web套接字。为了在glassfish上部署服务器套接字,我需要创建一个.war文件。
我有一个文件夹,其中包含一个用于websocket服务器的.java文件,一个html文件和一个javascript文件。
如何将该文件夹转换为.war文件以在Glassfish服务器上部署?
OR
如何将简单的.java文件转换为.war文件?我尝试执行
jar -cvf foldername.war* command, but it did not work .
是否需要首先将.java文件转换为.jar文件?
**编辑**
服务器代码使用javax.websocket。*类文件。所以我下载了 来自Internet的jar文件,并在编译期间指定了类路径到websocket类文件的路径。我还在我为该jar文件下载的压缩文件的META-INF文件夹内的pom.xml内为websocket添加了一个依赖项。代码已编译并创建了.class文件。现在我使用以下命令并创建.war文件。
jar -cvf warname.war classname.class htmalfile.html javascriptfile.jsp
此.war文件仅包含上述三个文件和META-INF文件夹。它不具有web-inf文件夹。它没有.war文件应具有的结构,就像我在google上搜索到的那样。因此,即使将其部署在glassfish服务器上,当我点击url localhost:8080 / warname时,服务器端点也没有运行。
所以,我需要知道在创建war文件时哪里出了问题?在将.java文件链接到javax.websocket。*类文件时,我做任何错误吗?
请帮助我。TIA..:)
再次编辑*
我已经使用标准“ mvn archetype:generate”命令创建了一个特定的项目,并使用所需的结构创建了该项目。然后,我将CustomEndPoint.class(服务器套接字类)粘贴到 WEB-INF / classes 文件夹中,还将 server_html.html 和 server_html.jsp 中 webapp 文件夹。我还更新了pom.xml文件,以更新 javax.websocket-api 的依赖性。
然后在pom.xml文件所在的文件夹中执行命令 mvn package 。然后创建 webapp.war 包。我将附上上述开发的屏幕截图。但是在部署后,该代码仍未在glassfish服务器上运行。
Screenshot of maven project creation
Screenshot of maven project creation
Directory structure of war file
答案 0 :(得分:0)
将Java Web应用程序(WAR文件)转换为桌面应用程序
http://gotz.web.unc.edu/2017/06/03/convert-a-java-web-application-a-war-file-to-a-desktop-app/