美文网首页
Spring Boot 零基础学习笔记 2:将项目打包并部署到服

Spring Boot 零基础学习笔记 2:将项目打包并部署到服

作者: littlefogcat | 来源:发表于2022-03-22 21:33 被阅读0次

安装 Java

首先进入服务器,我这里是 Ubuntu 20.04。

选择一个 Java 版本进行安装,我这里选择的是 Java 11,输入 apt install openjdk-11-jdk

在服务器上安装 Tomcat

首先,在 Apache 官网 查找对应版本的 Tomcat。可以看到,最新的版本是 8.5.77,下载地址是 https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.77/bin/apache-tomcat-8.5.77.tar.gz

  • 连接服务器,进入下载文件夹。我这里选择的是 /usr/local/tmp
  • 输入命令 wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.77/bin/apache-tomcat-8.5.77.tar.gz 开始下载。
  • 下载完毕之后,输入 tar -zxvf apache-tomcat-8.5.77.tar.gz 解压文件。
  • 解压完成后,移动文件夹到目标目录。这里我选择 /usr/local/tomcat,输入命令 mkdir /usr/local/tomcatmv apache-tomcat-8.5.77 /usr/local/tomcat
  • 进入 tomcat 安装目录,修改 bin/startup.sh,在其最后添加以下代码:
    其中,JAVA_HOME 是刚才安装 Java 的目录,TOMCAT 是安装 tomcat 的根目录。
#set java environment
export JAVA_HOME=/usr/lib/jvm/openjdk-11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#tomcat
export TOMCAT=/usr/local/tomcat/apache-tomcat-8.5.77
  • 进入安装目录的 bin 文件夹下,执行 ./startup.sh,如果执行成功,则访问对应 ip 的 8080 端口就可以看到 tomcat 的页面了。

将项目打包

修改 pom.xml

由于项目直接打包会与服务器的 tomcat 冲突,所以需要进行一些配置。

上一篇 的基础上,修改 pom.xml 如下:

  1. <dependencies> 标签中,找到 spring-boot-starter-web,在其中加入 exclusion 标签排除 tomcat 包:
        <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>
  1. <dependencies> 最后加入以下:
        <!-- 要打包的时候,添加以下代码排除servlet,不打包就注释掉 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
  1. 在最后加入以下代码(与 <dependencies> 同级别):
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <!--要打 war 包的时候,添加以下指定-->
    <packaging>war</packaging>

修改完 pom.xml 之后,点击同步更新一下。

修改代码

使 SpringBootDemoApplication 继承自 SpringBootServletInitializer,并重写 configure 方法(不确定是否必须)。
现在主 Application 代码如下:

package com.example.springbootdemo;

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;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class SpringBootDemoApplication extends SpringBootServletInitializer {

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

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return super.configure(builder);
    }

    @GetMapping("/hello")
    public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
        return String.format("Hello %s!", name);
    }
}

使用 maven 插件打包

点击 IDE 右侧 maven 栏,双击 package 命令,即可完成打包。


package .png

打包成功之后,就可以看到对应的 war 文件,在 target 目录下:

war

将 war 上传至服务器

将打包好的 war 文件上传至服务器,并存放在 tomcat 根目录中的 webapp 文件夹下。

修改文件名为想要的路径名称,如 hello.war,则代表之后通过 http://ip:8080/hello 可以访问到该应用。等待一会儿,或者进入 tomcat 根目录,执行 bin/shutdown.shbin/startup.sh,重启服务即可看到效果。

另外,也可以在 ip/manager 下进行 web 应用管理,如图:

manager

相关文章

网友评论

      本文标题:Spring Boot 零基础学习笔记 2:将项目打包并部署到服

      本文链接:https://www.haomeiwen.com/subject/qqjzdrtx.html