部署springboot项目到云服务器的两种方式(jar+war)

 更新时间:2021年12月28日 11:39:15   作者:倔强的Zero猪  
本文主要介绍了部署springboot项目到云服务器的两种方式,主要介绍了jar和war两种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

springboot版本:2.0.3.RELEASE

云服务器:阿里云ECS CentOS 7.3 64位

IDE:IntelliJ IDEA

服务器远程连接工具:Xshell 5

方式一、以jar文件运行

添加maven依赖

Spring Boot 默认以jar包方式运行,

可以在Maven配置如下插件,将Spring Boot 导出成可执行的jar文件。

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

将项目打包

在工程目录下的运行命令行中运行mvn package:

>mvn package

*推荐使用IDE中图形化界面的操作

(图中操作是跳过测试打包)

package会将Maven工程打包成一个可执行的jar文件存放在target目录下,在控制台中看到有如下输出则表示输出成功:

将jar文件放到服务器

打包好的jar文件已存放在target目录下

将jar文件放到服务器合适的目录下

(本文使用直接鼠标拖拉的方式,也可根据需要使用rz命令、FileZilla工具等方式)

在服务器运行jar文件

切换到jar文件所在目录,执行命令(前提是已在服务器装好jdk

java -jar yourProjectName.jar

浏览器访问

在浏览器输入地址访问

注意和在本地电脑运行相比,只需将ip地址换成服务器的即可,端口号和路径名都是跟在本地电脑运行时一样的,即与yml配置文件一致

至此,项目部署完成

2、以war方式部署

Spring Boot 默认自带了一个嵌入式的Tomcat服务器,可以以jar方式运行,更为常见的情况是需要将Spring Boot 应用打成一个war包,部署到Tomcat等服务器上。

修改打包方式

这种情况下,需要将pom中的packaging改成war方式:

移除嵌入式tomcat插件

这里提供2种方式(本文项目使用方式2)

方式1、需要将嵌入的Tomcat依赖方式改成provided(编译、测试时将依赖的包加入本工程的classpath,运行时不加入,可以理解成运行时不使用Spring Boot 自带的Tomcat)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

方式2、在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码,

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除嵌入式tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

添加servlet-api的依赖

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

修改启动类,并重写初始化方法

打包

操作步骤与jar方式的打包一致,打包完成后会在target目录下生成.war文件

部署

将war文件放到Tomcat的webapps目录下,启动Tomcat(在bin目录下执行./startup.sh),即可自动解压部署

浏览器访问

访问地址为:

http://服务器ip:服务器里Tomcat配置的端口/项目名/接口路径

*注意:项目名以Tomcat的webapps目录下解压后的文件夹名字为准

由于不使用Spring Boot 自带的Tomcat所以yml文件下的server配置不起作用

到此,项目部署完成

总结

1、jar包部署方式使用Spring Boot 自带的Tomcat,因为Spring Boot 应用自带Tomcat,所以可直接在服务器运行jar文件

2、war包部署方式则使用云服务器里的Tomcat,此时需要移除Spring Boot 自带的Tomcat插件

3、注意2种部署方式的访问路径差异

4、注意所用端口号是否已在安全组开放

到此这篇关于部署springboot项目到云服务器的两种方式(jar+war)的文章就介绍到这了,更多相关springboot部署到云服务器 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中内存异常StackOverflowError与OutOfMemoryError详解

    Java中内存异常StackOverflowError与OutOfMemoryError详解

    这篇文章主要介绍了 Java中内存异常StackOverflowError与OutOfMemoryError详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • Jar包冲突问题原理及解决方案

    Jar包冲突问题原理及解决方案

    这篇文章主要介绍了Jar包冲突问题原理及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • SpringMVC源码解读之 HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化

    SpringMVC源码解读之 HandlerMapping - AbstractDetectingUrlHandlerM

    这篇文章主要介绍了SpringMVC源码解读之 HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化的相关资料,需要的朋友可以参考下
    2016-02-02
  • java虚拟机内存溢出及泄漏实例

    java虚拟机内存溢出及泄漏实例

    本篇文章给大家分享了java虚拟机内存溢出及泄漏的实例以及相关知识点分享,有兴趣的朋友参考学习下。
    2018-06-06
  • 使用IDEA进行安卓开发的详细图文教程

    使用IDEA进行安卓开发的详细图文教程

    安卓开发本身就是Java开发的一个分支,我们要确保计算机已经安装好JDK并做好了相关的配置,下面这篇文章主要给大家介绍了关于如何使用IDEA进行安卓开发的详细图文教程,需要的朋友可以参考下
    2023-04-04
  • spring data jpa使用详解(推荐)

    spring data jpa使用详解(推荐)

    这篇文章主要介绍了spring data jpa使用详解(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Java Lambda表达式超详细介绍

    Java Lambda表达式超详细介绍

    这篇文章主要介绍了Java Lambda表达式,Lambda表达式是Java SE 8中一个重要的新特性, Lambda 表达式(Lambda expression)可以看作是一个匿名函数,基于数学中的λ演算得名,也可称为闭包(Closure),下面来看看文章具体的详细介绍吧
    2022-02-02
  • Java编程使用箱式布局管理器示例【基于swing组件】

    Java编程使用箱式布局管理器示例【基于swing组件】

    这篇文章主要介绍了Java编程使用箱式布局管理器,结合实例形式分析了基于swing组件的箱式布局管理器定义与使用技巧,需要的朋友可以参考下
    2018-01-01
  • springAop实现权限管理数据校验操作日志的场景分析

    springAop实现权限管理数据校验操作日志的场景分析

    这篇文章主要介绍了springAop实现权限管理数据校验操作日志的场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • java中四种操作xml方式的比较

    java中四种操作xml方式的比较

    本文主要介绍了java中四种操作xml的方式并对它们进行比较分析。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03

最新评论