将Webapp从Eclipse部署到Tomcat根上下文

时间:2011-07-12 13:50:14

标签: java eclipse tomcat

我通过添加“动态Web模块”方面从Eclipse部署.war应用程序,然后右键单击项目并选择“Run As - > Run on Server”。

这很好用,但默认情况下,项目部署到Tomcat的/web上下文,因为项目名称为web。有没有办法从Eclipse部署到Tomcat而不将项目名称更改为ROOT?

5 个答案:

答案 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(或者为空 - 我还没有尝试过,所以请尝试两者并让我知道哪个有效)