java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot项目打包到Tomcat

SpringBoot项目打包部署到Tomcat的操作流程

作者:酒後少女的夢

在最近一个项目中,维护行里一个年代较为久远的单体项目,需要将项目打包放到的tomcat服务器下运行,所以本文就给大家介绍一下SpringBoot项目打包部署到Tomcat的流程步骤,需要的朋友可以参考下

一、 文章背景

在最近一个项目中,维护行里一个年代较为久远的单体项目,需要将项目打包放到的tomcat服务器下运行,因为毕业就很少接触单体项目,在这里记录一下。

二、 什么是tomcat

Tomcat是一个开源的Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,用于支持在Java环境中运行Web应用程序。Tomcat是Apache软件基金会的一个项目,它提供了一个可靠且高性能的服务器环境,用于部署和运行Java Web应用程序。Tomcat可以作为一个独立的Web服务器运行,也可以与其他HTTP服务器(如Apache HTTP服务器)配合使用,以提供更强大的功能。

三、 什么是单体项目

单体项目是一种传统的软件架构模式,它将一个完整的应用程序作为一个单一的、独立的单元进行开发、部署和运行。在单体项目中,所有的功能模块和业务逻辑都集中在一个应用程序中,通常使用单一的数据库进行数据存储。

在单体项目中,应用程序的不同模块之间通过函数调用或者直接的方法调用进行通信。这种紧密耦合的架构模式使得开发和测试相对简单,但也存在一些问题。随着应用程序的规模不断增大,单体项目往往变得庞大且复杂,导致代码难以维护和扩展。此外,由于所有的功能都集中在一个应用程序中,当某个模块发生故障时,整个应用程序可能会受到影响。

随着微服务架构的兴起,单体项目逐渐被拆分为多个小型、独立的服务,每个服务负责一个特定的业务功能。这种架构模式可以提供更好的可扩展性、可维护性和可靠性。

四、 什么是war包

WAR(Web Application Archive)是一种用于打包和部署Java Web应用程序的文件格式。它是一种特殊的JAR(Java Archive)文件,用于将Web应用程序的相关文件(如HTML、JSP、Java类、配置文件、静态资源等)打包在一起。

WAR包是一种标准的部署格式,可以在Java Servlet容器中(如Tomcat、Jetty等)进行部署和运行。它提供了一种方便的方式来分发和部署Web应用程序,使得开发人员可以将应用程序打包成一个独立的文件,然后将其部署到目标服务器上。

在部署WAR包时,Servlet容器会将其解压并将其中的文件放置到适当的位置,然后启动Web应用程序。通常,WAR包中的WEB-INF目录包含了应用程序的配置文件、类文件和其他资源,而静态资源(如HTML、CSS、JavaScript文件)通常位于WAR包的根目录或者一个名为"webapp"的目录下。

总而言之,WAR包是一种用于打包和部署Java Web应用程序的文件格式,方便了应用程序的分发和部署。

五、 war包和jar的区别

WAR包和JAR包是两种不同的文件格式,用于打包和部署不同类型的Java应用程序。

总而言之,WAR包适用于打包和部署Java Web应用程序,具有特定的目录结构和部署方式。而JAR包适用于打包和分发Java应用程序的库、组件或可执行文件,可以作为依赖项被其他应用程序引用。

六、 SpringBoot打包成war包

要将Spring Boot项目打包为WAR(Web Application Archive)文件,您可以按照以下步骤进行操作:

    <packaging>war</packaging>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
    <!--打包后的项目名-->
    <finalName>order</finalName>
</build>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
</dependency>
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 @SpringBootApplication
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);
    }
}
    mvn clean package

七、 配置tomcat支持https

要配置Tomcat支持HTTPS,您可以按照以下步骤进行操作:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1"
           SSLEnabled="true"
           maxThreads="150"
           scheme="https"
           secure="true"
           keystoreFile="/path/to/cert/your_certificate.crt"
           keystorePass="your_keystore_password"
           keystoreType="PKCS12" />

确保按照实际情况修改 keystoreFile 为您的证书文件路径, keystorePass 为您的证书密码, keystoreType 为证书类型(根据您的证书类型进行修改)。 6. 保存并关闭 server.xml 文件。 7. 启动或重新启动Tomcat服务器。

现在,Tomcat将在8443端口上启动一个HTTPS连接,您可以使用https://localhost:8443 访问您的应用程序。请确保在浏览器中信任您的证书,以避免安全警告。

八、 隐藏tomcat的版本信息

要隐藏Tomcat版本信息,您可以按照以下步骤进行操作:

<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" />

现在,Tomcat将不再在HTTP响应头中显示版本信息。请注意,这只会隐藏版本信息,但无法阻止有经验的用户通过其他方式确定Tomcat的版本。

以上就是SpringBoot项目打包部署到Tomcat的操作流程的详细内容,更多关于SpringBoot项目打包到Tomcat的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文