spring boot的两种部署方式

spring boot的两种部署方式

前言

springboot的打包方式有很多种。有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的。这里主要介绍如何打成jar进行部署。

前后端分离现如今为主流架构,springboot构建web应用,可以快速的打成jar包然后启动服务。

此外,springboot还可以打成war包,在外部tomcat上部署服务,此时,项目内若存在applcation.properties配置的server.port将不起作用。不推荐用war,因为springboot适合前后端分离,打成jar进行部署更合适。

一、jar包部署

1.idea打开创建好的springboot工程,在maven中使用package打包(springboot工程默认打成jar)
在这里插入图片描述
2.在target中找到打包好的jar包目录,打开cmd,使用命令行: java -jar 跟上jar包名称
在这里插入图片描述

3.注意pom中设置的项目的jdk版本和本地环境的jdk版本需要一致

   <properties>
        <java.version>1.8</java.version>
    </properties>

4.启动成功即可测试(测试访问性,这里代码随意)
在这里插入图片描述
在这里插入图片描述

二、war包部署

一般情况下,将springboot工程打包为war分为以下几个步骤:
1.修改pom.xml,将打包方式设置为war 修改jar为war

 <packaging>war</packaging>

2.移除springboot默认的tomcat配置,移除默认的spring-boot-starter-tomcat,使用provided

<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> 
<dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-tomcat</artifactId> 
        <scope>provided</scope> 
</dependency>

3.添加tomcat-servelt-api依赖

*注意根据自己的情况修改version

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>
<dependency> 
      <groupId>org.apache.tomcat</groupId> 
      <artifactId>tomcat-servlet-api</artifactId> 
      <version>8.0.36</version> 
      <scope>provided</scope> 
</dependency>

4.改造启动类,核心启动类 继承SpringBootServletInitializer,并重写configure方法

@SpringBootApplication
public class SpringbootMapperscanApplication  extends SpringBootServletInitializer {

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

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

}

5.添加打包插件
在pom.xml的build > plugins 中添加打包插件,可以指定打包的名称等配置

      <plugin>
     	<groupId>org.apache.maven.plugins</groupId>
      	<artifactId>maven-war-plugin</artifactId>
      	<configuration>
          <warSourceExcludes>src/main/resources/**</warSourceExcludes>
          	<warName>cjzdtlj</warName>
          	<failOnMissingWebXml>false</failOnMissingWebXml>
      	</configuration>
     </plugin>

6.在IDE的命令行使用mvn clean命令清除旧的包,并使用mvn package生成新的war包
在这里插入图片描述

jar包和war包方式对比

  • 打jar包时不会把src/main/webapp下的内容打到jar包里,而打war包会
  • 提供rest服务的项目需打成jar包,而又大量css、js、html而且需要经常改动的项目,打成jar包运行比较方便,因为改动静态资源可以直接覆盖,很快看到改动后的效果
  • 个人觉得打包成jar包比war要方便的多
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js是一种用于构建用户界面的JavaScript框架,Spring Boot是一种用于建立基于Java的企业级应用程序的框架,而Nginx是一个高性能的Web服务器和反向代理服务器。下面是关于如何将Vue.js、Spring Boot和Nginx一起部署的步骤: 1. 构建Vue.js应用程序:首先,使用Vue CLI工具创建一个Vue.js应用程序。使用Vue的开发服务器将应用程序部署到本地开发环境,并进行测试和调试。 2. 打包Vue.js应用程序:然后,使用Vue CLI工具打包Vue.js应用程序。这将生成一个包含所有静态文件(HTML、CSS和JavaScript)的dist文件夹。 3. 创建Spring Boot应用程序:使用Spring Initializr工具创建一个新的Spring Boot应用程序。选择所需的依赖项,并生成一个基本的Spring Boot项目。 4. 将Vue.js应用程序添加到Spring Boot应用程序:将Vue.js应用程序的dist文件夹复制到Spring Boot应用程序的资源文件夹下。这样,Spring Boot应用程序将能够提供和访问Vue.js应用程序。 5. 配置Nginx服务器:安装Nginx服务器,并在配置文件中添加一个反向代理规则。这将允许Nginx将静态文件请求转发到Spring Boot应用程序上。 6. 部署Spring Boot应用程序:使用Maven或Gradle构建Spring Boot应用程序的可执行jar文件。将该jar文件上传到服务器,并运行它。这将启动Spring Boot应用程序并监听指定的端口。 7. 部署Nginx服务器:将Nginx服务器配置为监听所需的端口,并启动Nginx服务器。这将使Nginx能够接收来自用户的请求,并将其转发到Spring Boot应用程序上。 通过完成上述步骤,我们可以成功将Vue.js应用程序与Spring Boot和Nginx一起部署。用户现在可以通过Nginx服务器访问部署的应用程序,并与之交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值