SpringBoot工程打包部署

简介: SpringBoot工程打包部署简介:SpringBoot项目可通过三种方式运行:可执行Jar包、可执行War包和标准War包。其中,可执行Jar/War包可独立运行,标准War包需部署在Tomcat中。具体步骤包括:1. 修改pom.xml添加构建依赖;2. 执行`mvn clean package`命令打包;3. 运行生成的Jar/War包(如`java -jar xxx.jar`)。对于标准War包,还需修改启动类并配置Tomcat依赖。

SpringBoot工程打包部署

SpringBoot工程运行有三种方式:

  • 可执行Jar包(可脱离Tomcat,独立运行)
  • 可执行war包  (可脱离Tomcat,独立运行)
  • 标准war包  (需要部署到tomcat中运行)

打可执行Jar包

1、pom中添加构建依赖

代码解读

复制代码

<build>
	<plugins>
    	<plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
			
            <!-- 当执行maven的哪个构建周期时,使用springboot打包插件 -->
            <executions>
                <execution>
                    <goals>
                        <!-- 表示当运行mavn package打包时,使用Springboot插件打包 -->
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
    
            <!-- 指定应用启动类 -->
            <configuration>
                <mainClass>com.taotao.portal.PortalApplication</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

2、执行打包命令

代码解读

复制代码

mavn clean package -Dmaven.test.skip=true

3、运行生成的jar包

代码解读

复制代码

java -jar xxx.jar

打标准War(需要放到外部Tomcat中部署运行)

1、修改启动类

代码解读

复制代码


// 继承SpringBootServletInitializer,重写配置方法。让SpringBoot启动类和Tomcat原生生命周期建立联系。这样我们启动Tomcat时,Tomcat才能正常启动SpringBoot应用
public class ManagerApplication extends SpringBootServletInitializer{
 
  //  将SpringBoot启动类和Tomcat建立联系
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
       return builder.sources(ManagerApplication.class);
   }
 
    public static void main(String[] args) throws InterruptedException {
        SpringApplication application = new SpringApplication(ManagerApplication.class);
        //application.setBannerMode(Banner.Mode.OFF);
         application.run(args);
    }
}

2、添加依赖

代码解读

复制代码

<dependencies>

    // ...
    
     <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>
			
            <!-- 当执行maven的哪个构建周期时,使用springboot打包插件 -->
            <executions>
                <execution>
                    <goals>
                        <!-- 表示当运行mavn package打包时,使用Springboot插件打包 -->
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
    		
            <!-- 指定应用启动类 -->
            <configuration>
                <mainClass>com.taotao.portal.PortalApplication</mainClass>
            </configuration>
        </plugin>
        
        <!-- 配置maven打war包插件 -->
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
             <version>3.0.0</version>
        </plugin>
    </plugins>
</build>

3、打包命令

代码解读

复制代码

mvn clean package -Dmaven.test.skip=true

4、运行

将打好的war包,拷贝到%TOMCAT_HOME%/webapps/, 然后正常启动tomcat即可

打可执行war包(仅限Web工程)

1、添加依赖

代码解读

复制代码

<build>
	<plugins>
    	<plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
			
            <!-- 当执行maven的哪个构建周期时,使用springboot打包插件 -->
            <executions>
                <execution>
                    <goals>
                        <!-- 表示当运行mavn package打包时,使用Springboot插件打包 -->
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
    		
            <!-- 指定应用启动类 -->
            <configuration>
                <mainClass>com.taotao.portal.PortalApplication</mainClass>
            </configuration>
        </plugin>
        
        <!-- 配置maven打war包插件 -->
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
             <version>3.0.0</version>
        </plugin>
    </plugins>
</build>

2、 打包命令

代码解读

复制代码

mavn clean package -Dmaven.test.skip=true

3、运行方式

代码解读

复制代码

java -jar xxx.war


转载来源:https://juejin.cn/post/6844903941323390990

相关文章
|
1月前
|
XML Java 应用服务中间件
SpringBoot-打包&部署
SpringBoot 项目支持两种打包方式:WAR 包和 JAR 包。JAR 包内置 Tomcat,可直接运行;WAR 包需部署在外部 Tomcat 上。JAR 包通过 `mvn clean package` 打包并用 `java -jar` 运行,支持后台运行和 JVM 参数配置。WAR 包需修改 pom.xml 为 war 类型,移除嵌入式 Tomcat 依赖,添加 servlet-api,并继承 `SpringBootServletInitializer`。配置文件可通过外部 application.yml 覆盖,默认优先级高于 JAR 内部配置。
83 17
SpringBoot-打包&部署
|
26天前
|
Java 应用服务中间件 Maven
SpringBoot项目打包成war包
通过上述步骤,我们成功地将一个Spring Boot应用打包成WAR文件,并部署到外部的Tomcat服务器中。这种方式适用于需要与传统Servlet容器集成的场景。
43 8
|
21天前
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
72 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
2月前
|
JavaScript 搜索推荐 Java
基于SpringBoot+Vue实现的家乡特色推荐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
2月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
2月前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
2月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue的班级综合测评管理系统设计与实现(系统源码+文档+数据库+部署等)
✌免费选题、功能需求设计、任务书、开题报告、中期检查、程序功能实现、论文辅导、论文降重、答辩PPT辅导、会议视频一对一讲解代码等✌
|
2月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的高校食堂移动预约点餐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
2月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
2月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的冬奥会科普平台设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!