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

相关文章
|
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 内部配置。
1427 17
SpringBoot-打包&部署
|
11月前
|
安全 Java 持续交付
如何实现上传jar直接部署成功,这篇文章直接带你上手springboot实现jar包热更新!
本文详细讲解了在Spring Boot应用中实现Jar包热更新的实践方法。通过自定义类加载器(`HotClassLoader`),动态加载和卸载指定目录下的Jar包,结合Spring Bean动态注册机制,使新加载的类能够被Spring容器管理。同时,提供了文件上传接口,方便用户手动触发Jar包更新。文章还强调了安全性、依赖管理和线程安全等注意事项,并给出了测试步骤和总结,帮助开发者高效实现热更新功能,减少服务中断和提升开发效率。
|
11月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
639 70
|
8月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
815 13
|
8月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
754 0
|
Java 应用服务中间件 Maven
SpringBoot项目打包成war包
通过上述步骤,我们成功地将一个Spring Boot应用打包成WAR文件,并部署到外部的Tomcat服务器中。这种方式适用于需要与传统Servlet容器集成的场景。
1614 8
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
2245 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
JavaScript 搜索推荐 Java
基于SpringBoot+Vue实现的家乡特色推荐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
JavaScript Java 测试技术
基于SpringBoot+Vue实现的高校食堂移动预约点餐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的冬奥会科普平台设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!