码迷,mamicode.com
首页 > 编程语言 > 详细

springboot打包发布tomcat遇到的bug及解决方法

时间:2018-07-16 18:03:57      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:ase   --   访问   pack   rod   product   设置   deb   debug   

1、--  在打包发布springboot时,先在pom.xml中把springboot内嵌的tomcat去掉,这样打包的时候就不会打tomcat的jar包

如下所示:

<dependencies>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除内置容器,排除内置容器导出成war包可以让外部容器运行spring-boot项目-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>

</dependency>

 

如果还需要内嵌的tomcat,就把tomcat的使用范围scope设置为  privided  

如下所示:

<!-- 加载内置tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

<scope>privided</scope>

</dependency>

2、-- 把springboot打包成war直接部署到tomcat的webapps下后,遇到问题如下

  想直接通过ip地址访问项目,但在tomcat启动中发现项目执行了两次,第一次执行不报错,第二次执行报错

解决方法:  别把项目放在tomcat的webapps下,放到别的目录下,然后配置config文件夹中的server.xml文件

例如我的配置 放在了D:\apache-tomcat-8.5.32\myproduct目录下  audio-0.0.1-SNAPSHOT 是项目名

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">

<Context path="/" docBase="D:\apache-tomcat-8.5.32\myproduct\audio-0.0.1-SNAPSHOT" debug="0" reloadable="false" crossContext="false">
</Context>
</Host>

这样问题就解决了,再次启动tomcat就只访问一次啦。。

 

springboot打包发布tomcat遇到的bug及解决方法

标签:ase   --   访问   pack   rod   product   设置   deb   debug   

原文地址:https://www.cnblogs.com/ridong12345/p/9318867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!