2011-07-12 92 views
41

我通过添加“动态Web模块”方面,然后右键单击项目并选择“运行方式 - >在服务器上运行”,从Eclipse部署.war应用程序。从Eclipse向Tomcat根环境部署webapp

这很好,但默认情况下项目部署到Tomcat的/web上下文中,因为项目名称是web。有没有一种方法可以将Eclipse从Eclipse部署到Tomcat,而无需将项目名称更改为ROOT?

回答

75

你需要去Server View ..请双击tomcat,这将打开一个新窗口(带有2个选项卡)。选择一个说Modules,你的应用程序将在那里列出(与上下文路径)。您可以将/ web上下文路径更改为此处的任何其他内容。

或者,您可以打开server.xml查找名为context的标签。在这个标签中你会发现contextroot as/web ..改变它。

+2

另一种方法是最好的(打开Eclipse - > Project Explorer - > Servers - > server.xml): Musa

1

Right click the application > Properties > Web Project setings和上下文根设置为root(或清空 - 我还没有尝试过,所以尽量都让我知道哪一个工作)

+0

这一个工作http:// stackoverflow。com/questions/6665245/deploy-webapp-from-eclipse-to-tomcat-root-context/6665570#6665570 –

16

右键单击Eclipse中的项目,然后选择Properties-> Web Project Settings。在那里更改环境名称。

另外,您可以在.settings/org.eclipse.wst.common.component文件编辑您的项目

+0

这只适用于将项目定义为webproject,否则可以Eclipse在没有它的情况下做链接? –

+1

如果它不是Web项目,我认为你不能通过Eclipse的服务器工具部署到Tomcat。 – maximdim

+1

请注意,要作为网站根目录运行,请将上下文更改为“/”。然后我必须右键单击服务器视图中的服务器并调用“清理”。 – Steve

6

Web项目设置的项目里面,上下文根设置为“ /“(不带引号)

万一你正在使用的Apache2mod_proxy的。在我的虚拟主机定义我有根上下文位置项:

<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> 
4

在配置Eclipse的一个服务器,就可以进行进一步的配置和添加/删除/调整的任何模块(又名环境/ webapps),你希望它托管。您应该有一个列出服务器的服务器窗口(如果没有:窗口>显示视图>服务器)。双击服务器打开配置页面。有2个选项卡,但它们位于左下角。打开模块,您添加的任何模块将被列出。如果你想要一个模块作为默认的模块(所以如果你输入localhost它将服务器index.jsp,例如)确保路径说“/”。默认值将是您的web应用程序属性> Web项目设置中的内容,通常是项目名称。如果你在那里设置它,它不会让你留空,所以使用“/”。

确保保存了服务器的配置更改。您可能还需要“发布”它以使更改传播到实际的服务器。

要检查的最后一件事是找到服务器安装,打开conf/server.xml并查找您的上下文。您也可以在那里更改路径。请注意,path =“”等同于“/”,tomcat将使ROOT应用程序。另请注意,Eclipse首次发布时会创建一个名为ROOT的空webapp(这也将在server.xml中)。删除它是安全的。即使已部署的应用程序将项目名称作为Web应用程序名称,只要路径为“”,它就会将其视为默认ROOT。

+1

请删除简介,并使您的答案更加简洁和相关。 – ilyaigpetrov