首先,我不得不说,我的应用程序部署在我无法控制的共享Tomcat服务器上.我只是放弃我的.war文件,它被部署.
我试图打包我的应用程序作为ROOT.war,但没有工作.管理员告诉我把它包装成任何我想要的名字,他们会照顾它.
我把它打包成为我的application.war,它被部署,但是我必须输入http://my-host/my-application才能访问该网站.
在联系管理员后,他们告诉我,他们在Tomcat配置文件中的主机中放置了一个上下文元素,如:
<Context path="" docBase="path of my-application deployed folder"/>
这应该将我的应用程序设置为默认应用程序,用于所有来到我的主机的请求.但是没有,每当我进入http://my-host我得到:
HTTP Status 404 - / The requested resource (/) is not available
但是当我进入http://my-host/my-application这一切都可以正常工作.任何关于什么可能是错误的建议是绝对赞赏.
更新:
我试图按照07年4月在tomcat文档中描述的步骤进行描述.3种方法被描述,我尝试了所有三种方法,并且可以在本地主机上成功部署我的应用程序作为ROOT.
我也试图重现我在远程服务器上面临的问题,所以我可以找到原因并报告给管理员.我找到几个问题.
>在管理员发送给我的server.xml片段中,autoDeploy和deployOnStartUp设置为true,而如果在server.xml中显式定义Context元素,则它们应该为false.这将导致双重部署,其创建ROOT文件夹和名称为.war文件的文件夹.删除.war将删除它的相应文件夹,并取消配置应用程序,但ROOT保持不变,必须手动删除,并需要重新启动Tomcat.在重新启动之前,任何ROOT.war的部署都将失败.
>我认为有一些原因阻止ROOT.war部署.一个可能是ROOT.xml存在于conf / {engine-name} / {host-name}中,或者一个ROOT文件夹存在于主机的appBase中,或者如上所述,以前部署中的ROOT应用程序未被取消部署,并且需要Tomcat重新开始.
无论哪种方式,我无法准确地确定什么是防止ROOT.war部署,因为这需要访问Tomcat日志文件和conf文件来检查上述情况.
也从所有我看到我的管理员似乎无法维护一个Tomcat服务器并找到问题.所以我决定和一个专用的Tomcat服务器一起去共享一个.