7.2 系统部署

7.2.1 项目打包成jar

使用maven进行打包

SpringBoot自带一个更简单的spring-boot-maven-plugin插件可以用来打包,只需要在pom.xml中加入以下配置:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>com.bstek.udm.sample.UdmApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>

无需任何配置,这个插件会自动定位应用程序的入口Class,执行以下Maven命令即可打包:

$ mvn clean package

运行jar包

进入jar所在的文件夹,使用java -jar命令运行jar,项目就能启动

java -jar udmServer-5.0.jar

java -server -Xms6g -Xmx6g -Xss2g -jar udmServer-0.1.jar

注意

因为springboot内置了tomcat,所以springboot项目打包成jar可以免去tomcat的配置,如果是打包成war包,则还需要配置tomcat。

打包后在target目录下有两个jar文件,其中有一个jar包后缀为.original,这是Maven标准打包插件打的jar包,它只包含我们自己的Class,不包含依赖,而后缀为.jar的是SpringBoot打包插件创建的包含依赖的jar,可以直接运行。

7.2.2 项目打包成war

7.2.2.1 修改项目配置

修改pom.xml
<packaging>war</packaging>
<!-- 将 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>
<!-- 添加对 Tomcat 的依赖 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
</dependency>
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>3.3.1</version> 
  <configuration>
    <!-- 忽略web.xml检查 -->
    <failOnMissingWebXml>false</failOnMissingWebXml>
  </configuration>
</plugin>
修改yml配置
server:
  port: 8080
  servlet:
    context-path: /myapp
logging:
  config: classpath:logback-spring.xml
  level:
    root: INFO
创建tomcat启动类
package com.bstek.udm;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;

/**
 * @Description 外置容器tomcat启动类
 * @Author hans
 * @CreateDate 2024-10-31
 */
@Configuration
@EnableAutoConfiguration
public class ApplicationTomcat  extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(ApplicationTomcat.class);
    }

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

7.2.2.2 打成war包

mvn clean  package

img

7.2.2.3 部署到tomcat

手工部署war

​ 请注意target目录下有2个war包,我们使用umdServer-0.1.war.original就行,复制到本机tomcat/webapps目录下,改名字为myapp.war,这个与前面在yml中指定的server.context-path值保持一致。

img

启动服务

img

在浏览器中访问myapp

img

7.2.3 jar部署到测试环境

7.2.3.1 到windos服务器

修改配置文件

(1)示例程序说明

  • 假设deploy为根目录
  • 新建config目录作为springboot工程的外部配置文件目录
  • 新建myspace目录用来存储日志等
  • udm产品示例程序udmServer-4.3.0.jar

img

(2)外部配置文件说明

  • 日志文件logback-spring.xml
  • udm工程的初始化方式配置文件udmserver-init.properties
  • 工程的配置文件application.yml

(3)修改日志输出路径

img

(4)修改udm的仓库路径

udmserver.home=G:/Users/Desktop/udm/repo/home
启动springBoot项目

(1)在windows控制台中输入启动命令

java -server -Xbootclasspath/a:./config/ -Xms2g -Xmx4g -Xss2m -XX:-UseGCOverheadLimit -jar udmServer-0.1.jar

(2)如上图所示为服务启动成功标志

img

7.2.3.2 到linux服务器

修改配置文件

(1)示例程序说明

  • 假设deploy为根目录
  • 新建config目录作为springboot工程的外部配置文件目录
  • 新建myspace目录用来存储日志等
  • udm产品示例程序udmServer-4.3.0.jar

img

(2)外部配置文件说明

  • 日志文件logback-spring.xml
  • udm工程的初始化方式配置文件udm-init.properties
  • 工程的配置文件application.yml

(3)修改日志输出路径

img

(4)修改udm的仓库路径

udmserver.home=/Users/Desktop/udm/repo/home

(5)修改工程的配置文件yml,服务端口可指定为其它值

img

启动springBoot项目

(1)在linux控制台中输入启动命令

java -server -Xbootclasspath/a:./config/ -Xms2g -Xmx4g -Xss2m -XX:-UseGCOverheadLimit -jar udmServer-0.1.jar

(2)如下图所示为服务启动成功标志

img

results matching ""

    No results matching ""