一、项目打包

在项目完工之后,因为创建了多个module,打包的时候需要分别对不同的module进行打包,这样做比较麻烦,下面通过父子工程来实现一次性打包项目。本次所用到的项目为上篇所创建的项目,详情参考:

1.1 修改父工程

打开父项目的pom.xml文件,基本信息如下:

<modelVersion>4.0.0</modelVersion>
<groupId>com.xct</groupId>
<artifactId>springcloud_2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>

添加如下信息,这段信息之前是配置在子工程里面的,现在配于此处,子工程则不需要配置:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.5.RELEASE</version>
    <relativePath/>
</parent>

声明其子模块:

<modules>
    <module>gateway</module>
    <module>goods-service</module>
    <module>integral-service</module>
    <module>order-service</module>
    <module>registry</module>
    <module>user-service</module>
</modules>

1.2 修改子模块

这里以registry服务为例,打开pom.xml文件:

基本信息:

<groupId>com.xct</groupId>
<artifactId>registry</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>registry</name>
<description>Demo project for Spring Boot</description>
<packaging>jar</packaging>

继承项目的父工程:

<parent>
    <groupId>com.xct</groupId>
    <artifactId>springcloud_2</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

最后,需在各个子模块中添加打包插件,这个插件主要是构建可执行的jar:

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

补充:<finalName>registry</finalName> :可以自定义打包后的项目(jar)名称。

最后,开始打包

springcloud打包的时候依赖别的模块应该怎么打 springcloud项目打包_spring cloud

springcloud打包的时候依赖别的模块应该怎么打 springcloud项目打包_spring cloud_02

springcloud打包的时候依赖别的模块应该怎么打 springcloud项目打包_java_03

此时,在项目target目录下就会生成一个jar包,这就算成功了!

springcloud打包的时候依赖别的模块应该怎么打 springcloud项目打包_centos_04

二、将项目部署到Linux上运行

2.1 将jar包上传至Linux虚拟机

打开Linux虚拟机,我这里使用的Linux虚拟机是Centos 7

具体虚拟机安装和配置请参考:


开启虚拟机后使用Xshell工具来将jar上传到虚拟机上

springcloud打包的时候依赖别的模块应该怎么打 springcloud项目打包_java_05

上传只需要直接将jar拖至自定义的linux虚拟机目录下即可。

注意:使用这种方法上传需要安装上传工具包rz。

lrzsz包包括上传rz、下载sz命令,所以只需要安装这个包即可。

直接输入如下命令即可下载

[root@localhost spring_cloud_exercise]# yum install -y lrzsz

具体操作请参考:


2.2 运行jar包

上传成功后使用下面命令运行jar包:

java -jar xxx.jar &

关于在Linux下启动jar包命令请参考:


启动registry服务

springcloud打包的时候依赖别的模块应该怎么打 springcloud项目打包_spring cloud_06

使用netstat -tunlp | grep 8761 查看端口

springcloud打包的时候依赖别的模块应该怎么打 springcloud项目打包_java_07

我的虚拟机ip为:192.168.56.2

访问192.168.56.2:8761/

springcloud打包的时候依赖别的模块应该怎么打 springcloud项目打包_linux_08

说明registry项目已经成功在Linux上运行了。如果需要部署其他工程只需跟上面步骤一样即可。