首先,我想说我是java服务器的初学者,并且从不在我的intellij中的localhost以外的服务器上部署java .war应用程序。
我有一个简单的REST应用程序在localhost中正常工作,我还创建了war文件并通过命令“asadmin deploy --port 4849 war_name”进行部署,但是当我进入url http://stachurskipiotr4.usermd.net/cookbook-1.0-SNAPSHOT时,有一个服务器错误。
我完全不知道它是什么,我将不胜感激任何帮助。
答案 0 :(得分:0)
访问该案例的域端口。如果您尚未配置,则默认值为8080。
http://stachurskipiotr4.usermd.net:8080/cookbook-1.0-SNAPSHOT
此外,如果已部署应用程序,请使用或登录管理控制台查看应用程序。您也可以直接从那里访问它。
答案 1 :(得分:0)
Glassfish已经提供了Jackson库,并且版本与Spring所依赖的版本冲突。 Glassfish是一个企业容器,企业容器是否有特定需求?尝试使用像Tomcat这样的常规servlet容器。如果你确实想要企业,也许你不需要使用Spring
编辑:
从项目中删除杰克逊罐子对你没有帮助; Spring代码想要它想要的版本。您可以尝试找出Glassfish提供的版本,然后查看Spring的哪个版本依赖于该版本并使用该版本的Spring。这是一个错误的尝试,因为这将只是冰山一角。不要尝试在企业容器中部署Spring代码,这些是竞争规范。
您的选择
1)找出为什么Tomcat无法正常工作。 Tomcat是经过实战考验的servlet容器,拥有数千个生产部署。
2)尝试使用不同的servlet容器,例如Jetty。
3)将代码重写为JEE规范并部署到Glassfish或Wildfly等企业容器(还有其他容器)。
4)使用Spring Boot嵌入容器并将应用程序打包为可执行jar。
EDIT2:
如果您选择了Spring Boot,那么您的工件将是一个可执行jar,因为容器是嵌入式的,所以不要将它部署到容器中。你可以通过java命令启动jar。您完全从部署中删除容器。我不知道您的部署环境,但此时您根本不使用Glassfish,您必须运行java命令来启动服务器。
如果需要Glassfish,则必须重写代码