springboot

springboot 打包war及部署tomcat

2020-06-10  本文已影响0人  超级笔记本

打包war

  1. pom文件修改
    <!--默认是jar,设置成war-->
    <packaging>war</packaging>

    <!--编译时使用内置tomcat,打包时不使用内置的tomcat-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

    <!--添加打包插件-->
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。-->
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
  1. 修改启动类
//1、添加注解
//2、继承SpringBootServletInitializer类重新configure方法
@SpringBootApplication
@ServletComponentScan
public class VenusProWebApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return super.configure(builder);
    }

    public static void main(String[] args) {
        SpringApplication.run(VenusProWebApplication.class, args);
    }
}
  1. maven工具打包即可

部署到tomcat

  1. 直接将生成得war包放到webapps里面,这里主要tomcat得端口,不再使用yml文件里配置的端口号;
#这是无效的
server:
  port: 8080
  1. 修改server.xml文件,端口、根目录等
<!-- host节点里添加,设置根目录,web是war名 -->
 <Context path="" docBase="web" reloadable="true" />

一台电脑运行多个tomcat

  1. 再准备一个tomcat,可以是不同版本,也可以是直接复制已经存在的;
  2. 下边几个地方修改端口号,只要不与其他tomcat端口冲突就行;
    <Server port="8055" shutdown="SHUTDOWN">

    <Connector port="8002" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8099" protocol="AJP/1.3" redirectPort="8443" />

  1. 修改bin目录下,所有的bat文件,将CATALINA_HOME替换成CATALINA_HOME2,将CATALINA_BASE替换成CATALINA_BASE2;CATALINA_HOME是第一个tomcat的环境变量名称,CATALINA_HOME2是第二个tomcat的环境变量名称;设置环境变量添加到path中如:%CATALINA_HOME%\bin、%CATALINA_HOME2%\bin
  2. 修改bin目录下的version.bat文件名为version2.bat
    5.打开命令输入version、version2显示两个tomcat的版本就ok了

C:\Users\Administrator>version
Using CATALINA_BASE:   "E:\apache-tomcat-8.5.34"
Using CATALINA_HOME:   "E:\apache-tomcat-8.5.34"
Using CATALINA_TMPDIR: "E:\apache-tomcat-8.5.34\temp"
Using JRE_HOME:        "E:\Java\jdk1.8.0_131"
Using CLASSPATH:       "E:\apache-tomcat-8.5.34\bin\bootstrap.jar;E:\apache-tomcat-8.5.34\bin\tomcat-juli.jar"
Server version: Apache Tomcat/8.5.34
Server built:   Sep 4 2018 22:28:22 UTC
Server number:  8.5.34.0
OS Name:        Windows 10
OS Version:     10.0
Architecture:   amd64
JVM Version:    1.8.0_131-b11
JVM Vendor:     Oracle Corporation
C:\Users\Administrator>version2
Using CATALINA_BASE2:   "E:\apache-tomcat-8.5.34 - 2"
Using CATALINA_HOME2:   "E:\apache-tomcat-8.5.34 - 2"
Using CATALINA_TMPDIR: "E:\apache-tomcat-8.5.34 - 2\temp"
Using JRE_HOME:        "E:\Java\jdk1.8.0_131"
Using CLASSPATH:       "E:\apache-tomcat-8.5.34 - 2\bin\bootstrap.jar;E:\apache-tomcat-8.5.34 - 2\bin\tomcat-juli.jar"
Server version: Apache Tomcat/8.5.34
Server built:   Sep 4 2018 22:28:22 UTC
Server number:  8.5.34.0
OS Name:        Windows 10
OS Version:     10.0
Architecture:   amd64
JVM Version:    1.8.0_131-b11
JVM Vendor:     Oracle Corporation
上一篇下一篇

猜你喜欢

热点阅读