我用的是myeclipse+tomcat,我在tomcat下部署了两个项目(a和b),然后我在myeclipse下run server(只选中run a项目)时,tomcat一下就run了a和b两个项目,这是为什么呢?应该怎么优化?
谢谢!

解决方案 »

  1.   

    去掉server.xml文件中没用的 <Context .... >
      

  2.   

    你要进到tomcat安装的文件夹下,找到webapps文件夹,进到里面 ,把里面你不需要的项目删除
      

  3.   

    tomcat 启动会把webapps下的项目都跑起来
      

  4.   

    这个得看你是用配置文件omcat部署web应用主要有以下几种方式:1.拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。
    2.为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。这个web应用本身可以存储在硬盘上的任何地方。这种context片断提供了一种便利的方法来部署web应用,你不需要编辑server.xml,除非你想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。
    3. 同方法2,只是将context片断放在CATALINA_BASE\conf\Catalina\localhost目录下.这种方法比方法2>要有效,笔者经过多次实验发现方法2不如后面这种方法好用.前者多次出现系统打不开的情况.
    4.直接在server.xml中</Host>前加上Context片断,使用这种方法时,tomcat会自动在CATALINA_BASE\conf\Catalina\localhost目录下生成一个文件片断.方法同方法3具有同样效果.这种方式需要将ROOT目录删除才行.另外,为了让tomcat只运行conf/server.xml中指定的web应用,可以有以下几种办法:
    实现一:
         1)将要部署的WEB应用放在webapps以外的路径, 并在server.xml相应的context中的docBase指定.
         2)删除webapps中的所有文件夹, 以及conf/catalina/localhost下所有xml文件.
         注: webapps是server.xml中的Host元素的appBase属性的值. 
    实现二:
         1) 修改server.xml中Host元素的属性, 添加或修改: deployXML="false" deployOnStartup="false" autoDeploy="false"
         2) 含义:
         deployXML="false": 不部署conf/catalina/localhost下的xml相应的WEB应用     deployOnStartup="false" : tomcat启动时, 不部署webapps下的所有web应用     autoDeploy="false": 避免tomcat在扫描改动时, 再次把webapps下的web应用给部署进来.
      

  5.   

    很显然,你a,b项目都部署到tomcat下了,把b(不需要的部署)移去吧。
      

  6.   

    Run Configurations里的source设置一下就可以了,把不要的remove掉