springboot打war包,以及多个war包部署

一、springboot打war包

1、修改pom.xml文件打包方式

    <groupId>com</groupId>
    <artifactId>panshi</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>psdj</name>
    <build>
        <finalName>打包名称</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

2、排除内置的tomcat容器

        <!-- 添加Tomcat部署依赖包 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- spring boot tomcat jsp 支持开启 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <!--  servlet依赖 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>

3、和启动文件同目录新增一个类,继承SpringBootServletInitializer,实现configure方法

文件:SpringBootStartApplication.java

/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(PanshiApplication.class);
    }
}

二、一个及多个war包部署到tomcat

1、编辑tomcat下面的conf文件夹的server.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <!-- 项目一部署 端口7070,项目存放路径webapps1-->
  <Service name="Catalina">
    <Connector port="7070" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <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="webapps1"
            unpackWARs="true" autoDeploy="true"
        <Context path="" docBase="war包名称" debug="0"  reloadable="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" />
      </Host>
    </Engine>
  </Service>
  <!-- 项目一部署 端口7080,项目存放路径webapps2-->
  <Service name="Catalina">
    <Connector port="7080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <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="webapps2"
            unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="war包名称" debug="0"  reloadable="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" />
      </Host>
    </Engine>
  </Service>
</Server>

原文地址:https://www.cnblogs.com/qiujianfeng/p/12430781.html

时间: 2024-08-28 15:51:46

springboot打war包,以及多个war包部署的相关文章

Maven引入本地Jar包并打包进War包中

Maven引入本地Jar包并打包进War包中 1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示:  这4个Jar包是识别网页编码所需的包. 3. 配置pom.xml,依赖本地Jar 配置Jar的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和

SpringBoot不通过私服方式引入第三方jar包

SpringBoot不通过私服方式引入第三方jar包 比如打包的时候想引入lib文件夹下的第三方jar包, pom.xml配置如下: <dependencies>标签里面引入第三方jar包的依赖 pom.basedir指的是pom文件所在的目录, systemPath指的是第三方jar包所在路径. <dependency> <groupId>com.abc</groupId> <artifactId>cryptokit</artifactI

一个简单的SOCKET程序的数据包结构和封解包函数

/*练习写套接字通信程序时候写的一段代码,本来想写个聊天室但写来写去进度卡在界面上接节下来都是通信部分的代码 因为只是试验用所以都是用C写的,等界面部分完工后会用类来封装一下 因为本人E文很烂所以变量和函数的命名是具有中国特色的,求理解.不过我注释的很详细了 谨以此文纪念我那坑爹的编程自学生涯......................**/ #include "stdio.h" #include <windows.h> //////////////////////////

java中常用的包、类、以及包中常用的类、方法、属性-----io包

由于最近有需要,所以下面是我整理的在开发中常用的包.类.以及包中常用的类.方法.属性:有需要的看看 java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.math.*; java.sql.*; java.text.*; java.awt.*; javax.swing.*;   包名 接口 类 方法 属性 java.io.*; java.io.Serializable实现序列化 java.io.Buffe

利用Wireshark截取数据包,并对数据包进行解析

利用Wireshark截取ICMP数据包,并对数据包进行解析 wireshark安装文件下载地址:http://yunpan.cn/QiHGK5sPtWRyN (提取码:0bbc) 安装步骤: 解压文件之后,在\wireshark-win32-1.4.9中文版\文件夹中找到安装文件,双击即可安装. 安装完成之后,双击wireshark图标即可启动,界面如下: 抓包步骤: 1.点击开始按钮列出可以抓包的接口: 2.点击选项可以配置抓包参数: 3.配置完成点击开始,即可开始抓包: 4.点击停止完成抓

Linux中什么时候用包名、什么时候用包全名、以及RPM包的安装、升级与卸载

1.在安装和升级时使用包全名,查询卸载时用包名 2.RPM包安装 上面的--nodeps只能在做实验时用!因为如果写上了的话,万一这个软件包真的依赖于其他包,即使安装完了此rpm包,也是不可用的! 3.RPM包升级 Linux中严格区分大小写 4.RPM包卸载 注意:用光盘安装时要先挂载再在指定路径下安装,但是卸载时却可以在任何位置执行软件卸载,因为卸载时,系统是通过包名到后台数据库中搜索的

linux程序包管理之rpm程序包管理器与yum前端工具

这里主要讲以CentOS为例,rpm程序包管理器的相关内容: CentOS的程序包管理器:   1) 程序包的命名规则:        源代码包:            software_name-VERSION.tar.gz            VERSION:major.minor.release                major:主版本号,通常代表重大功能改进的版本分支:                minor:次版本号,通常代表在某个版本的分支中的某个功能发生变化:     

第12章 安装RPM包或者安装源码包

1. 区分 rpm -qi -qf  -ql  -qa四个不同选项组合的作用?rpm -qi   //查询已经安装的某个RPM软件包的信息rpm -qf   //查询某个程序文件是由哪个RPM软件包安装的rpm -ql   //查询某个RPM软件包的所有安装文件rpm -qa   //查询所有已经安装的RPM软件包 2. rpm -qi 后面如果跟一个未安装的包名,会显示什么信息?  会提示该软件包没有安装 3. 请找出 vim 这个命令是由哪个rpm包安装来的?rpm -qf `which v

Ant打包可运行的Jar包(加入第三方jar包)

本章介绍使用ant打包可运行的Jar包. 打包jar包最大的问题在于如何加入第三方jar包使得jar文件可以直接运行.以下用一个实例程序进行说明. 程序结构: 关键代码: package com.alfred.main; import com.alfred.bean.User; import com.alfred.util.ProjConfig; import com.thoughtworks.xstream.XStream; public class Main { public static

Centos6.5利用RubyGems的fpm制作zabbix_agent的rpm包,并使用ansible批量部署

一. 搭建rpm包制作环境 安装gcc [[email protected] ~]# yum install gcc 安装make [[email protected] ~]# yum install make 安装ruby源(ruby版本必须要在1.9.3以上,centos自带的是1.8的版本,需要自己编译安装) [[email protected] ~]# yum install ruby rubygems ruby-devel 查看ruby源 [[email protected] ~]#