首页 文章

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

提问于
浏览
44

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

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

5 回答

  • 7

    你需要转到 Server View ..双击tomcat,这会打开一个新窗口(带有2个标签) . 选择显示 Modules 的那个,您的应用程序将在那里列出(使用上下文路径) . 您可以从此处将上下文路径从/ web更改为其他任何内容 .

    或者,您可以打开server.xml查找名为context的标记 . 在此标记内,您会发现contextroot为/ web ..更改它 .

  • 4

    在Eclipse中右键单击您的项目,然后选择Properties-> Web Project Settings . 在那里更改上下文名称

    或者,您可以在项目内的.settings / org.eclipse.wst.common.component文件中对其进行编辑

  • 1

    在项目的 Web Project Settings 中,将 Context root 设置为 "/" . (没有引号)

    以防您使用 apache2mod_proxy . 在我的虚拟主机定义中,我有一个根上下文的 Location 条目:

    <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>
    
  • 17

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

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

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

  • 80

    Right click the application > Properties > Web Project setings 并将Context root设置为ROOT(或者为空 - 我还没有尝试过,所以请尝试两者并让我知道哪个有效)

相关问题