首页 > 其他分享 >Springboot项目发布war到tomcat

Springboot项目发布war到tomcat

时间:2024-02-04 14:01:04浏览次数:33  
标签:Springboot tomcat spring boot springframework org war

springboot项目有些日子没有开发了,新做一个min spring boot项目,复习下项目开发及发布流程。

1.新建项目:

 2.新建一个业务controller

controller名称及方法,名称随意,项目结构如下:

 testcontroller代码文件的内容如下:

package com.*****.Controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/test")
public class testController {
    @RequestMapping("/abc")
    public String abc()
    {
        return "ok.";
    }
}

3.修改启动配置

然后在项目的启动文件APP.java中修改启动配置如下:

package com.*****;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * Hello world!
 *
 */
@SpringBootApplication
public class App extends SpringBootServletInitializer
{
    public static void main( String[] args )
    {
        //System.out.println( "Hello World!" );
        SpringApplication.run(App.class, args);
    }
    @Override  //这个表示使用外部的tomcat容器
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的启动类
        return builder.sources(App.class);
    }
}

其中继承SpringBootServletInitializer及重载configure是为了打包war时使用。

4.修改Pom文件:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.*****</groupId>
  <artifactId>minispring</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>minispring</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.6.RELEASE</version>
  </parent>
  <packaging>war</packaging>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
      <scope>provided</scope>
    </dependency>
    <!--打包不参与,也就是打包去掉tomcat-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <configuration>
            <fork>true</fork>
            <jvmArguments>Dfile.encoding=UTF-8</jvmArguments>
            <!--配置入口类的标签名-->
            <mainClass>com.*****.App</mainClass>
          </configuration>
        </plugin>
      </plugins>
  </build>
</project>

其中,一般情况下,如果打包成jar包,则只需要引用spring-boot-maven-plugin即可,由于要打包为war包,则需要另外增加配置:tomcat-embed-jasper、spring-boot-starter-tomcat

5.在maven中进行打包

 打包完成后,将war包拷贝到tomcat的webapps目录下面(重命名为mi.war),运行tomcat即可自动解压war(tomcat默认自动解压war包,如果没有也可以手动配置)。

6.测试:

http://localhost:8080/mi/test/abc

 参考地址:https://blog.csdn.net/led1114/article/details/122650051

标签:Springboot,tomcat,spring,boot,springframework,org,war
From: https://www.cnblogs.com/jizhong/p/18006060

相关文章

  • SpringBoot-热部署插件添加
      在开发中修改代码避免反复重启编译   <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency> 使用idea为2023.2.3 ......
  • 解决apache-tomcat安装成功之后运行startup.bat之后闪退
    一:概述通过startup.bat启动的流程是:startup->catalia->setclasspath->cataline,如果这3个bat文件里面有一个出现错误的话就是启动失败,为了找到一闪而过的原因,需要了解这三个bat文件里面是什么。二:具体说明<1>由于JDK环境变量配置错误tomcat在启动时,会读取环境变量的信息,需要一个CAT......
  • SpringBoot的约定是什么?
    springboot项目中必须在src/main/resources中放入application.yml(yaml,properties)配置文件,名字为applicationspringboot项目中必须在src/main/java中只能有一个启动类......
  • SpringBoot简单集成JWT
    1.JWT入门1.1JWT概念官方网站:https://jwt.io/introduction/JSONWebToken(JWT)是一个定义在RFC7519开放标准下的技术,提供了一种紧凑且自包含的方式用于在各方之间安全地传输信息。JWT使用JSON对象作为载体,同时通过数字签名来验证和确保信息的可信度。数字签名可以通过......
  • SpringBoot + LiteFlow:轻松应对复杂业务逻辑,简直不要太香!
    LiteFlow简介LiteFlow是什么?LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑。通过支持热加载规则配置,开发者能够即时调整流程步骤,将复杂的业务如价格计算、下单流程等拆分为独立且可复用的组件,从而实现系统的高度......
  • (python)代码学习||2024.2.3||题目是codewars上的【Validate Sudoku with size `NxN`
    题目的要求是写一个Sudoku类,类中要有一个实例函数判断传给对象的二维数组是否符合数独规则题目链接:https://www.codewars.com/kata/540afbe2dc9f615d5e000425/python下面是写完题后看到的别人的解决方法fromitertoolsimportchainclassSudoku(object):def__init__......
  • 【阅读笔记】《A New Hardware-Efficient Algorithm and Reconfigurable Architecture
    一、对比度增强算法AGCWD硬件化实现2013年发表在TIP上的对比度增强算法AGCWD(Efficientcontrastenhancementusingadaptivegammacorrectionwithweightingdistribution)2014年发表在IEEETransactionsonImageProcessing的《ANewHardware-EfficientAlgorithmandReco......
  • Windows Server 2022 OVF, updated Jan 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2022OVF,updatedJan2024(sysin)-VMware虚拟机模板2024年1月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2022-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现在......
  • springboot多环境开发pofiles
    不同环境下,不同yml配置,分隔不同环境1.单文件使用 使用---分隔2.多文件使用由application.yml中指定使用 分组  组激活......
  • springboot属性配置
    启动jar包时,配置“属性”(端口......)1.命令行参数方式--键=值 2.环境变量方式  3.外部配置文件方式 优先级:项目yml<jar包目录下yml<环境变量<命令行参数......