一个Tomcat部署多个项目引起的冲突

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Tomcat部署多个项目引起的冲突相关的知识,希望对你有一定的参考价值。

参考技术A 项目部署在windows服务器上,(真心不造经济学院为什么要买一台windows服务器)

在服务器上部署多个项目的时候,由于第二个项目自己偷懒就复制了第一个项目的web.xml,没想到连webAppRootKey也一起复制过去了,于是造成冲突。

查看日志:Web app root system property already set to different value: 'app1.root' = [D:\apache\apache-tomcat-8.5.12-windows-x64\webapps\teachers\] instead of [D:\apache\apache-tomcat-8.5.12-windows-x64\webapps\teachers_files\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!

不得不说日志是个好东西,记录了项目的行为

另外项目的webAppRootKey就不复制了,他们的值都是相同的。

解决方法:因此两个项目中paran-value应该是不一样的。

如何在一个Tomcat 中部署多个项目

 通常情况下我们部署项目时是一个Tomcat 中部署一个项目,但是有时也需要在一个tomcat中部署多个应用。如何实现呢?我简单的记录一下,方便日后查阅。

1 打开tomcat目录,修改配置文件server.xml。新增如下内容:

  

  <!-- 新增一个项目-->
  <Service name="Catalina">
    <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9543" />
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="9543" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps_8081" unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
<!--<Context  path="/route" reloadable="true" docBase="D:/tomcat7/webapps2"/>-->
      </Host>
    </Engine>
  </Service>

2 在tomcat的目录中创建文件夹 webapps2,该文件夹存放的就是新增的项目。这里需要注意项目的路径和端口号不能和  前一个项目重复。

3 启动tomcat后测试下是否两个项目都能够访问,如果两个项目都能够访问的话,那就说明ok了。


  在一个tomcat中部署多个项目有优点,也有缺点。如果多个项目中的一个项目启动时出现错误的话,会导致其它项目也不能正常启动,当项目太多时,错误的排除比较麻烦,测试也比较麻烦。所以还是需要我们根据需要选择合适的部署方式。


本文出自 “随便写写” 博客,请务必保留此出处http://7156680.blog.51cto.com/7146680/1887084

以上是关于一个Tomcat部署多个项目引起的冲突的主要内容,如果未能解决你的问题,请参考以下文章

同一服务器部署多个tomcat时,如何避免端口号冲突问题

多个项目如何部署在一个tomcat

一个tomcat下部署多个项目或一个服务器部署多个tomcat

一个tomcat下部署多个项目或一个服务器部署多个tomcat

怎么在同一个tomcat部署多个应用

tomcat修改端口号