玖叶教程网

前端编程开发入门

SpringBoot 程序的打包与运行:构建高效部署流程

1引言

在现代应用开发中,高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架,提供了方便的打包工具和内嵌式的Web服务器,使得打包和运行变得更加简单。

本文将研究在Spring Boot应用中如何进行打包,帮助开发者构建高效的部署流程。

2打包Spring Boot 应用

Spring Boot 提供了多种方式来打包应用,常见的有 Maven 插件和 Gradle 插件。以下以 Maven 为例:

Maven 插件

在项目的 pom.xml 文件中,添加 Maven 插件配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

通过执行以下命令进行打包:

mvn clean package

打包完成后,会在 target 目录下生成可执行的 JAR 文件。

3运行Spring Boot 应用

Spring Boot 应用可以通过多种方式运行,包括使用内嵌的 Web 服务器、作为 WAR 文件部署到外部 Servlet 容器等。

使用内嵌的 Web 服务器

执行以下命令运行应用:

java -jar your-application.jar
//或
java –jar your-application.jar --server.port=80
//或
java –jar springboot.jar –-server.port=80 --logging.level.root=debug

这将启动嵌入式的 Tomcat 服务器,并运行 Spring Boot 应用。

外部 Servlet 容器

如果希望将应用部署到外部 Servlet 容器,需要将应用打包为 WAR 文件。在 pom.xml 中添加以下配置:

<packaging>jar</packaging>
//修改为
<packaging>war</packaging>

引入依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!-- 去除内嵌tomcat -->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!--添加servlet的依赖-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>

</dependencies>

添加启动类

如果是 war 包发布,需要增加 SpringBootServletInitializer ?类,并重写其 configure?法,或者将 main 函数所在的类继承 SpringBootServletInitializer , 并重写configure ?法

当时打包为 war 时上传到 tomcat 服务器中访问项?始终报 404 错就是忽略了这个步骤!!!

@SpringBootApplication
public class JavaToJarAdmin  extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(JavaToJarAdmin.class, args);
    }
 
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(JavaToJarAdmin.class);
    }
 
}

然后执行 Maven 命令进行打包:

mvn clean package

打包完成后,会在 target 目录下生成可执行的 WAR文件。

使?外部 Tomcat 运?该 war ?件(把 war ?件直接丢到 tomcat 的 webapps?录)

启动tomcat

访问http://localhost:8080/war包名/

http://localhost:8080/JavaToJar-1.0-SNAPSHOT/

注意:

将项?打成 war 包,部署到外部的 tomcat 中,这个时候,不能直接访问 spring boot 项?中配置?件配置的端?。

application.yml 中配置的 server.port 配置的 是spring boot 内置的 tomcat 的端?号,打成 war 包部署在独?的 tomcat 上之后,配置的server.port 是不起作?的。?定要注意这?点。

4结语

通过本文的介绍,你学会了如何使用 Maven 插件打包 Spring Boot 应用,灵活的打包和部署。结合内嵌的 Web 服务器和外部 Servlet 容器,将有助于构建一个稳定可靠的部署流程,提高开发和运维效率。

来源:blog.csdn.net/m0_53127626/article/details/135696635

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言