前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot-项目部署

SpringBoot-项目部署

作者头像
Damon小智
发布2024-02-03 10:42:51
2010
发布2024-02-03 10:42:51
举报
文章被收录于专栏:全栈文档库全栈文档库

SpringBoot项目部署可以通过将项目打成可执行的jar包或war包来实现,也可以使用容器化技术如Docker将项目部署到云平台中。在部署时需要注意配置文件的位置和启动参数的设置,同时确保目标环境中的Java版本与项目所需的Java版本一致。部署完成后,可以通过访问项目的URL或监控端点来进行访问和管理。

这里主要讲Docker外两种手动打包的部署方式:

一、jar包(自身捆绑tomcat)

1、项目打包成jar包

右侧菜单Maven里,双击生命周期里的package,系统会自动把项目打包成jar包。

publish 001 1024x719 - SpringBoot-项目部署
publish 001 1024x719 - SpringBoot-项目部署

默认是项目路径下的target目录。

publish 002 1024x583 - SpringBoot-项目部署
publish 002 1024x583 - SpringBoot-项目部署

2、拷贝jar包到服务器预发布目录

publish 003 - SpringBoot-项目部署
publish 003 - SpringBoot-项目部署

3、运行java命令发布jar包

代码语言:javascript
复制
# xxxxx为jar包的物理路径
java -jar xxxxx.jar
publish 004 - SpringBoot-项目部署
publish 004 - SpringBoot-项目部署

发布成功后,我们访问项目编写时设置的服务端口8088,可以看到项目成功运行了。

publish 005 1024x700 - SpringBoot-项目部署
publish 005 1024x700 - SpringBoot-项目部署

4、停止jar包发布的方法

①直接关闭cmd窗口 ②如果第一种不行,端口还是被占用,需要taskkill任务

代码语言:javascript
复制
# 查看所有在运行的jar包的PID
jps 
代码语言:javascript
复制
# 根据PID强制终止任务
taskkill /pid pid号 -f  -t 
publish 006 - SpringBoot-项目部署
publish 006 - SpringBoot-项目部署

二、war包(依赖服务器上的tomcat)

1、修改项目启动类

代码语言:javascript
复制
package com;

import de.codecentric.boot.admin.server.config.EnableAdminServer;
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;

@EnableAdminServer
@SpringBootApplication

//将原有启动类继承SpringBootServletInitializer 
public class SbaApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(SbaApplication.class, args);
    }

    //这一段重写方法也是新加代码
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(this.getClass());
    }
}

2、pom.xml引入maven-war包依赖

代码语言:javascript
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
 </plugin>
publish 008 1024x660 - SpringBoot-项目部署
publish 008 1024x660 - SpringBoot-项目部署

引入完记得刷新maven以更新jar包和依赖关系。

3、pom.xml中自定义packaging设置为war

代码语言:javascript
复制
<packaging>war</packaging>
publish 007 - SpringBoot-项目部署
publish 007 - SpringBoot-项目部署

4、双击右侧maven菜单里的package导出war包

生成的war包也是在我们项目的target目录下。

publish 009 - SpringBoot-项目部署
publish 009 - SpringBoot-项目部署

5、将war包放到服务器tomcat的webapps目录下

publish 010 - SpringBoot-项目部署
publish 010 - SpringBoot-项目部署

war包放到tomcat的webapps目录下之后,如果运行tomcat,war包会自动生成解析后的文件夹,等tomcat关闭后,我们可以把原先的war包删除,只保留最新的解析后的文件夹。 注意:war不能在tomcat运行时删除,否则会删除自动解压的工程。

接着我们访问tomcat来测试是否访问成功,比如我的tomcat是70端口,访问localhost(或公网ip):70/ProjectSchedule,可以看到项目正常运行。

以上是常用的两种 Java 项目打包发布的方式。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-5-9,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档