在linux系统中发布springboot项目

2023-11-11

第一种方法:将项目打成jar包进行发布

第一步:在pom文件中的packing是jar的情况下:

  <groupId>com.example</groupId>
  <artifactId>demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

第二步:到项目的根目录(与pom文件同级),然后按着shift键与鼠标右击,在此处打开命令窗口,输入命令:

  mvn clean package -Dmaven.test.skip=true

第三步:之后可以看到生成了一个target的目录,点击进去,可以看到有一个生成的jar包。命名为项目名+版本号.jar,我们可以修改为自己想要的名字,这里我们修改为Demo.jar,之后将生成的jar包上传到linux中的任意一个位置,之后在cd到相应的位置,执行命令:

java -jar Demo.jar

可以看到Spring的字样输出,已经启动。
第四步:接下来就可以在地址栏中输入我们想要访问的项目的链接了!!!

第二种方法:将项目打成war包进行发布

1、在项目中删除刚才生成的target文件夹。
2、在pom.xml文件中修改打包的类型:

<packaging>war</packaging>

3、在pom.xml文件中将build节点中的finalName修改为项目名称。

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

4、我们都知道,spring_boot有一个自己的tomcat,所以我们要在spring-boot-starter-web依赖中移除tomcat模块。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

5、添加servlet依赖

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

6、修改启动类
(1)修改启动文件使其继承SpringBootServletInitializer
(2)添加方法

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;

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
    }

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

7、到项目的根目录(与pom文件同级),然后按着shift键与鼠标右击,在此处打开命令窗口,输入命令:

mvn clean package -Dmaven.test.skip=true

8、当我们看到BUILD SUCCESS则说明成功打包,下面让我们把新生成的target目录下啊war文件复制上传到我们linux服务器的tomcat下的webapps文件夹下:
启动tomcat输入命令:

./startup.sh 

然后再地址栏中输入我们想要访问的路径,此时是:项目名+方法名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在linux系统中发布springboot项目 的相关文章

随机推荐

  • C++中new与delete问题学习

    C 中new与delete问题学习 一 new char与delete问题 1 问题程序 include
  • 普歌-云言团队-Spring的AOP简介

    什么是AOP AOP 为 Aspect Oriented Programming 的缩写 意思为面向切面编程 是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 AOP 是 OOP 的延续 是软件开发中的一个热点 也是Spri
  • 【ES实战】索引mapping的动态设置

    动态mapping 文章目录 动态mapping 动态mapping规则 语法规则 match mapping type match and unmatch match pattern path match and path unmatch
  • signature=8a03839902ac8eb66fcf33ab62032d86,swch-20200612

    0001710583 20 000020 txt 20200618 0001710583 20 000020 hdr sgml 20200618 20200618161953 ACCESSION NUMBER 0001710583 20 0
  • 了解Nginx配置文件结构与配置上下文

    提供 ZStack云计算 系列教程 本教程为如何在Ubuntu 14 04上实现Nginx与LEMP系列四篇中的第四篇 内容介绍 Nginx是一套高性能Web服务器 负责处理互联网上各大型站点的日常负载 其特别擅长处理高并发连接与大量静态内
  • c++语法

    文章目录 0 0 编译运行 单个程序编辑调试 库文件编译调试 1 变量 1 1 变量的声明和定义 1 2 变量的作用域 1 3 namespace命名空间 标准空间std 2 关键字 2 1 extern 3 常量 1 define 定义
  • 插值1算法

    一 基本概念 插值是指通过对数据进行线性 非线性或其他类型的逼近 将一组离散数据映射到连续的函数值 在数学中 插值通常用于将数据点连接起来 以形成连续的函数图像 特别是在数值计算和图像处理中 插值可以用于在空间中预测对象的位置 速度和加速度
  • Unity&Shader案例篇—绘制雨滴

    一 前言 转载请注明出处凯尔八阿哥专栏 惯例先上效果图 本文不只是简单的绘制雨滴 同时处理了摄像机不同朝向看到的雨滴下落的方向也不一样 二 方法 1 绘制雨线 绘制雨使用的是C 脚本绘制的 脚本为 using UnityEngine usi
  • 测试之自动化测试

    详细Python教程见 http www liaoxuefeng com wiki 0014316089557264a6b348958f449949df42a6d3a2e542c000 0014316090478912dab2a3a9e8f
  • 【金九银十】软件测试中的高频面试题梳理(内附答案)

    写数据库语句 一个老师表 一个学生表 1 查李老师班的小明 2 并将小明的年纪改成26 select t1 from 学生表 t1 jion 老师表 t2 on t1 班级 t2 班级 where t1 姓名 小明 and t2 姓名 李老
  • vue阻止弹窗_vue 弹窗禁止底层滚动

    原因 底层视图高度超出百分百 加入弹窗后再苹果浏览器隐藏上下栏的情况下遮罩层没有完全遮住底层 处理 打开弹窗后禁止底层滚动调用stop事件 关闭则开启底层滚动调用move事件 let mo function e e preventDefau
  • 实时流协议(RTSP) 来自 维基百科

    https zh wikipedia org wiki E5 8D B3 E6 99 82 E4 B8 B2 E6 B5 81 E5 8D 94 E5 AE 9A 目录 协议指令 OPTIONS 请求 DESCRIBE 请求 SETUP 请
  • stat()/lstat()的使用

    stat 函数和lstat 函数都是用于获取文件或目录的信息的函数 它们可以返回包含文件或目录的各种属性的结构体 这里是关于这两个函数的使用方法的简要说明 stat 函数 include
  • Boostrap对HTML的表格的设计和优化

    目录 01 Bootstrap的默认表格风格 02 没有边线 边界的表格 03 行与行的背景颜色交替变换 条纹样式 04 给表格加上边框效果 05 鼠标移到行上时该行的颜色加深 06 把表格的padding值缩减一半 使表格看起来更紧凑 0
  • 评分模型应用案例_FLUENT太阳辐射模型应用简单案例

    正文共 897字 11图 预计阅读时间 3分钟 1 前言 FLUENT自带了一个太阳辐射模型 solar load model 可以用来计算太阳光线进入计算域带来的辐照 其所谓光线追踪法 ray tracing approach 可以高效地
  • springBoot 整合shiro

    1 springBoot 整合思路 2 环境搭建 2 1创建springBoot项目并导入依赖 a 基本依赖 shiro spring boot starter spring web lombok b shiro依赖
  • 网络编程问题

    数据发送 假设应用程序要发送40KB数据 但是OS的TCP发送缓冲区只有25KB剩余空间 那么剩下的15KB数据怎么办 如果等待OS缓冲区可用 会阻塞当前线程 因为不知道对方什么时候收到并读取数据 因此网络库应该把这个15KB数据缓存起来
  • The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar

    今天用eclipse在maven项目里测试jsp页面时报了如下错误 The absolute uri http java sun com jsp jstl core cannot be resolved in either web xml
  • JUC学习笔记及拓展

    本文为自己整理的学习笔记及学习心得 大纲取自尚硅谷的JUC视频 感兴趣的小伙伴可以去B站自学 JUC学习笔记及拓展 Java JUC 1 Java JUC简介 2 volatile 关键字 内存可见性 2 1 内存可见性 2 2 volat
  • 在linux系统中发布springboot项目

    第一种方法 将项目打成jar包进行发布 第一步 在pom文件中的packing是jar的情况下