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

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的启动项目,第二种和第三种都是可取的!世上无难事,只怕有心人!遇见问题之后,还是耐心解决一下吧!

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中,通常我们将应用程序打包成可执行的JAR文件,而不是WAR文件。但是,如果你确实需要将Spring Boot应用程序打包WAR文件,可以按照以下步骤进行操作: 1. 在你的Spring Boot项目的pom.xml文件中,将打包方式设置为war。在`<packaging>`元素中将值设置为war,如下所示: ```xml <packaging>war</packaging> ``` 2. 在你的主应用程序类上添加`extends SpringBootServletInitializer`,并重写`configure()`方法。这样可以将Spring Boot应用程序注册为一个Servlet。 ```java import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class YourApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(YourApplication.class); } // 程序的入口 public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } } ``` 3. 在pom.xml文件中添加servlet-api和jsp依赖。这些依赖项是为了支持WAR文件的部署和JSP页面的渲染。 ```xml <dependencies> <!-- 其他依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>javax.servlet.jsp.jstl-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!-- 其他依赖 --> </dependencies> ``` 4. 执行打包命令。在命令行中导航到你的项目根目录,并执行以下命令: ``` mvn clean package ``` 5. 在项目的`target`目录下将生成一个WAR文件,你可以将该WAR文件部署到支持Java应用程序部署的Web服务器上。 希望以上步骤能帮助到你成功打包Spring Boot应用程序为WAR文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值