SpringBoot-项目部署

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

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

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

一、jar包(自身捆绑tomcat)

1、项目打包成jar包

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

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


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


3、运行java命令发布jar包

# xxxxx为jar包的物理路径
java -jar xxxxx.jar

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


4、停止jar包发布的方法

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

# 查看所有在运行的jar包的PID
jps
# 根据PID强制终止任务
taskkill /pid pid号 -f  -t


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

1、修改项目启动类

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包依赖

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
 </plugin>

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


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

<packaging>war</packaging>


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

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


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

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

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。