springboot 打war包去掉项目前缀会 启动两次解决

来源:互联网 发布:淘宝价格旁已验证正品 编辑:程序博客网 时间:2024/06/16 15:06

springboot项目打成war包 去掉前缀放置在tomcat  webapps下面,启动的时候会加载两次,可以通过修改tomcat的默认启动路径

1. tomcat 去掉前缀 的方法

   server.xml里面host节点增加 蓝色部分
  <Host name="localhost"  appBase="webapp"
            unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/yz/yzadmin/rvertest/apache-tomcat-8.5.20/webapps/ch-provider"  debug="0" reloadable="false"  />
       
 <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/alve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->


        <!-- Access log processes all example.
             Documentation at: /docs/config/alve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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" />


      </Host>
   
 其中docbase 是我们待运行项目项目在linux下的路径



   
   

2. tomcat7.0如何修改默认的启动目录webapps

转载:http://blog.csdn.net/changyinling520/article/details/71036515


【前言】

  最近在敲DRP项目的时候遇到了一个问题那就是在用tomcat启动项目的时候总是用很长的时间,起初我并不是很在意,觉得时间还是可以接受的,好吧,我承受我有一点小小的将就!后来偶然的机会,小伙伴看见了启动的项目之后吐槽时间是他时间的十倍,我终于不能接受,还是需要小小的解决掉这个问题!

【内容】

刚开始使用tomcat7.0启动项目的时候用的是时间是:

  1.删除webapps下的其他非正在部署的项目:

我发现它启动是webapps下面所有的项目,而webappps下面的确是存在着除了webapps之后其他的很多的项目,所以我马上就想到webapps下面的除了drp项目之外的其他项目转到了我另存的一个新的文件夹下,这样启动之后的效果也是很明显的:


当然在用了这个方案之后我还是本着科学的角度去百度了一下,tomcat的Catalina文件是用来干什么?

首先Catalina是在conf文件下的,conf是放置一些配置文件的。conf文件中的以下文件的作用:

1.server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码
2.web.xml可以设置tomcat支持的文件类型
3.context.xml可以用来配置数据源之类的
4.tomcat-users.xml用来配置管理tomcat的用户与权限
5.在Catalina目录下可以设置默认加载的项目

所以从定义来看解决tomcat的默认加载目录还是有两种方案可以使用:

----------------------------------------------------------------------

2.找到conf文件下面的server.xml,打开该文件并找到Host name,将appBase改成我们想要默认的路径:

[html] view plain copy
  1. <Host name="localhost"  appBase="webapps"  
运行结果之后,时间的确是比原来的时间少了很多:


3.找到conf文件夹的Catalina下的locahost,并且新建一个新的xml文件,在xml中写上:

[html] view plain copy
  1. <Context path="/Currenwork" debug="0" docBase="D:/Currenwork" reloadable="true"></Context>  
docBase是你想要的具体的路径的文件名,path写相对路径。
部署的时间结果如下:


【总结】

   从这三种方案中我还是不提倡第一种方案的,因为部署了其他的新的项目,我们还是需要手动移出webapps下,所以修改默tomcat的启动项目,第二种和第三种都是可取的!世上无难事,只怕有心人!遇见问题之后,还是耐心解决一下吧!