我通过添加“动态Web模块”方面从Eclipse部署.war应用程序,然后右键单击项目并选择“Run As - > Run on Server”。
这很好用,但默认情况下,项目部署到Tomcat的/web
上下文,因为项目名称为web
。有没有办法从Eclipse部署到Tomcat而不将项目名称更改为ROOT?
答案 0 :(得分:80)
你需要转到Server View
..双击tomcat,这会打开一个新窗口(带有2个标签)。选择显示Modules
的那个,您的应用程序将在那里列出(使用上下文路径)。您可以在此处将上下文路径从/ web更改为其他任何内容。
或者,您可以打开server.xml查找名为context的标记。在此标记内,您会发现contextroot为/ web ..更改它。
答案 1 :(得分:18)
在Eclipse中右键单击您的项目,然后选择Properties-> Web Project Settings。在那里更改上下文名称
或者,您可以在项目中的.settings / org.eclipse.wst.common.component文件中进行编辑
答案 2 :(得分:7)
在项目的网络项目设置中,将上下文根设置为“/”。 (不含引号)
以防您使用 mod_proxy apache2 。在我的虚拟主机定义中,我有一个位置条目,用于根上下文:
<Proxy balancer://ajpCluster>
BalancerMember ajp://localhost:18009 route=s1
BalancerMember ajp://localhost:28009 route=s2
</Proxy>
# A "Location" entry for hosting static content. Would put mod_expire settings
# here
<Location /resources>
ProxyPass ! #Don't proxy this location
ExpiresActive on
ExpiresDefault "access plus 1 seconds"
ExpiresByType application/javascript "access plus 1 months"
</Location>
#...
# This must be the last "Location" if you are overloading others, otherwise
# the others won't load as apache uses the first one listed that matches
<Location />
ProxyPass balancer://ajpCluster stickysession=JSESSIONID
</Location>
答案 3 :(得分:4)
在eclipse中配置服务器之后,您可以进一步配置它并添加/删除/调整您希望它托管的任何模块(也就是上下文/ webapps)。您应该有一个列出服务器的服务器窗口(如果不是:Window&gt; Show View&gt; Servers)。双击服务器以打开配置页面。有2个选项卡,但它们位于左下角。打开模块,将列出您添加的任何模块。如果你想要一个模块作为默认模块(所以如果你键入localhost它将服务器index.jsp,例如)确保路径说“/”。默认值将是您的webapps属性&gt;中的内容。 Web项目设置,通常是项目名称。如果你在那里设置它,它不会让你留空,所以使用“/".
确保保存服务器的配置更改。您可能还需要“发布”它以使更改传播到实际服务器。
要检查的最后一件事是找到服务器安装,打开conf / server.xml并查找您的上下文。您也可以在那里更改路径。请注意,path =“”等同于“/”,tomcat将使其成为ROOT应用程序。另请注意,Eclipse将在您首次发布时创建一个名为ROOT的空Web应用程序(这也将在server.xml中)。删除它是安全的。即使您部署的应用程序将项目名称作为webapp名称,只要路径为“”,它就会将其视为默认ROOT。
答案 4 :(得分:1)
Right click the application > Properties > Web Project setings
并将Context root设置为ROOT(或者为空 - 我还没有尝试过,所以请尝试两者并让我知道哪个有效)