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
    评论
1.[今日课程内容总览] Maven--***** 介绍 优点 用maven创建一个项目, 用maven创建一个ssm项目,每一层的代码分开,把一个项目拆解成多个项目 2.[今日包含笔记] maven介绍: Eclise: 缺点: Jar包: 版本管理,解决jar包冲突:删除老的jar包,保留新的jar包 不同的项目,jar包要复制一份;Users Library 羡慕yum的好处,安装软件,自动下载,自动验证,自动安装,自动测试;镜像网站 Jar包的依赖: 致命的缺点:现象: 每一个项目都有前台(广大网民)和后台(管理员看的),后台的功能远远的大于>前台的功能;迭代升级;每次升级都要重启tomcat;将tomcat做很多个备份(10个),为了nginx转发;前台:访问比较大,管理员访问量比较小; 问题: 每次升级,10个tomcat都升级一次 后台的升级频繁要比前台频繁;升级10次,9次改的是后台的代码,只有一次是前台的代码 解决方案: 是将前台(广大网民看的页面)的代码和后台(管理员)的代码要分开,将原来的一个项目分别放到两个web项目;一个web项目一个tomcat;好处:更新的时候如果更新后台(管理员),只需要重启后台的tomcat(服务); 折成两个项目以后的缺点:Service以下的代码重复; 将Service层以下的代码放到一个新创建的java项目中,在部署的时候将Service(java项目)打成一个jar包,分别放到两个web服务中;编译的时候让web项目依赖与Service(java项目)_source folder;配置麻烦,项目项目之间的依赖头脑得相当清晰 这个缺点Maven解决了; 请听今天的内容 拆分前:图一 拆分后是图二 3. 介绍 官网:http://maven.apache.org/download.cgi 目录介绍: Bin:二进制文件 Boot:引导,启动 Conf:配置文件 Lib:jar包 README.txt:读我 3.1.修改配置文件的内容 路径:%MAVEN_HOME%\conf\settings.xml 配置文件代码: d:/repo alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central 注意: 千万不要将文档中的setting的内容全部替换到maven中的内容,要对比着修改,保留原来的; 只修改本地仓库,和下载镜像(源) 3.2.Eclipse Maven的配置 每打开一个新的工作空间,要配置一下Maven,然后再写代码 3.3.创建Maven项目 右击创建一个maven project Packing:有三种: Jar:java项目, War:web项目 Pom:文件夹,jar和war文件,mavenProject:一个项目,可以放jar和war包,通过pom,一般新创建的maven Project是POM 3.4.创建一个Maven Model 最外面的项目MavenProject,其它的全部是Maven Model 3.4.1.创建JAR 目录介绍: Mvn-jar |-->Src:源码:java代码 |-->|-->main:代码:除测试以外的代码:junit |-->|-->main|-->java:代码 |-->|-->main|--

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值