maven构建多模块项目总结

maven构建多模块项目总结

作为开发人员,当开发项目大了之后,往往都会采取多模块构建的方式进行区分。但是使用多模块进行构建也往往会出现一些打包问题。笔者在解决这类问题时,也走了不少弯路。希望这篇文章能够帮读者少走一些弯路。

0. 概述

maven多模块项目构建的本质就是通过parent和module标签。通过在父工程里指明module、在子工程里指明parent,即可实现父子工程的构建。

明白该原理,就可以通过手动的方式自己自定义maven项目的聚合。但是一般还是会采用IDE所自带的自动创建父子工程的功能以及一些默认的规范。当然,规范不用强制遵守。但是,因为这些规范都是基于经验总结出来的,所以,使用这些规范能够在很大程度避免问题的出现。

这也是作为一个踩过坑的人的血泪经验。

本篇文章主要说明的是将maven与SpringBoot结合,实现多模块项目构建的发布和部署。而关于项目本身,读者可以基于对本文的理解,对自己的项目进行同样配置,然后进行发布和部署,也可以使用我的一个demo工程。

环境:idea 2018.3.3 + MySQL 5.7 + Centos7 + SpringBoot 2.X + JDK1.8

1. 多模块构建项目的要求

使用maven进行多模块构建项目,还是要遵循一些简单的原则:

  1. 父工程必须要指明打包方式为pom,其他子工程可以使用其他任意方式
  2. 一般将一些通用子工程打成jar包,要部署的实际项目打成war包。当然,对于使用SpringBoot插件而言,全部打成jar包就可以了
  3. 对于父工程以及其他不会发布的工程,不需要添加SpringBoot的maven插件。
  4. 父工程只用作依赖管理
  5. 如果父工程已经在pom文件的dependencyManagment中引入SpringCloud依赖,那么子工程就不需要再添加此依赖。
  6. 如果某个子工程被另一个子工程依赖,那么这个子工程不能完成maven的package及后面的操作。一般进行compile即可。

只要严格遵循了这些原则,那么利用SpringBoot和maven进行项目的打包和部署是十分简单并且没有任何问题的。

2. 部署要求

2.1. 安装jdk1.8

Linux下的jdk安装十分简单

  1. 首先,从官网上下载jdk1.8的Linux打包文件

  2. 将其放置在/usr/local(一般都安装在这个目录下),解压

  3. 使用vim编辑/etc/profile文件,在文件末尾添加以下内容,并使用source /etc/profile激活该配置。

# java环境配置
export JAVA_HOME=/usr/local/jdk1.8.0_211
export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/bin

export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin

export PATH=$PATH:${JAVA_PATH}

  1. 使用javacjava -version命令检查是否jdk是否安装成功

2.2. 运行jar包

当使用idea打包多模块项目时,直接在父工程中执行package时就会自动打包所有子工程。找到要运行的项目的target目录,打包成功后会在该目录下生成一个jar包。

将该jar包放到服务器上的任意位置,使用java -jar xxx.jar命令即可成功运行SpringBoot项目。

2.3. 访问

如果是使用虚拟机作为服务器,那么关闭服务器的防火墙和selinux后。如果宿主机能够ping通虚拟机,那么就可以在浏览器中访问部署的项目。

如果是使用的云服务器,那么同样也需要先关掉防火墙和selinux,然后在控制台的控制链中,开放要使用的端口即可成功访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值