一、创建maven项目,名为test-parent,pom文件如下:

 ...
<artifactId>test-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging><!--这个值默认是jar,一般不专门定义。这里值是pom,这个项目里只有一个pom文件-->
...
<properties><!--这里定义<depencies>引入的jar的版本值-->
<drools.version>7.1.0.Final</drools.version>
<springloaded.version>1.2.6.RELEASE</springloaded.version>
<axis.version>1.4</axis.version>
<axis-jaxrpc.version>1.2.1</axis-jaxrpc.version>
</properties>
...
<repositories><!--这里定义私服地址-->
...
</repositories>
...
<dependencies>
<dependency>
<groupId>org.drools</groupId><!--ctrl+单击可以查看jar包的pom文件-->
<artifactId>drools-bom</artifactId>
<type>pom</type>
<version>${drools.version}</version><!--这里的值在上面<properties>中定义-->
<scope>import</scope>
</dependency>
...
</dependencies>
...

test-parent用于统一管理jar包的版本、私服地址。

分布式开发的多个模块,引用的同一个jar,最好统一一个版本,所以版本放在parent中维护。防止版本太多造成jar包冲突。

二、建公用vo项目和arch项目

公用vo项目 test-common-vo:存放分布式开发的其他项目会用到的vo对象,或者公用vo对象。pom.xml:

 ...
<parent><!--设置parent为test-parent项目,继承它的pom配置-->
<groupId>com.test</groupId>
<artifactId>test-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>test-common-vo</artifactId>
...
<depencies><!--用到的jar包即使parent项目有,这里仍然需要配置才能引入-->
...
</depencies>

公用arch项目存放公用的方法,比如feign调用其他模块的方法

将这两个项目package或者deploy打包放到私服上,在parent项目的pom中引入:

 ...
<dependency>
<groupId>com.test</groupId>
<artifactId>test-common-vo</artifactId>
<version>${test-common-vo.version}</version>
</dependency>
<groupId>com.test</groupId>
<artifactId>test-common-arch</artifactId>
<version>${test-common-arch.version}</version>
</dependency>
...

三、业务模块的项目test-yeWu-server

业务模块的pom配置parent:

 ...
<parent><!--配parent-->
<groupId>com.test</groupId>
<artifactId>test-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<dependency><!--引入公用-->
<groupId>com.test</groupId>
<artifactId>test-common-arch</artifactId>
</dependency>
<!--如果需要vo的话引入-->
<dependency><!--引入公用-->
<groupId>com.test</groupId>
<artifactId>test-common-vo</artifactId>
</dependency>
...

Maven、SpringBoot框架结构优化的更多相关文章

  1. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

  2. IDEA上创建 Maven SpringBoot项目发布到Tomcat

    概述 上篇记录了IDEA上创建Maven SpringBoot+mybatisplus+thymeleaf 项目,但是如何将SpringBoot发布到Tomcat,直接采用Maven 命令Clear- ...

  3. 聚合maven+spring-boot打包可执行jar

    整整搞了一天,终于解决这个问题了.这里是四个module,module之间存在依赖,打包两个可执行jar,看下最终效果吧 聚合maven+spring-boot的搭建很简单,和普通的聚合maven没有 ...

  4. 记Spring搭建功能完整的个人博客「Oyster」全过程[其二] Idea中Maven+SpringBoot多模块项目开发的设计和各种坑(模块间依赖和打包问题)

    大家好嘞,今天闲着没事干开写写博客,记录一下Maven+SpringBoot的多模块设计和遇到的坑. 多模块设计 简单说明一下截止目前的需求: 需要RESTful API:对文章.标签.分类和评论等的 ...

  5. SpringBoot入门-SpringBoot性能优化

    SpringBoot启动优化 显示声明扫包范围: 即不使用@SpringBootApplication默认扫包,使用@ComponentScan(basePackages = { "com. ...

  6. Maven + Springboot + redis 配置

    前言 刚进入到Java 开发的世界,对于小白Java的我来说,使用Maven + SpringBoot 的项目下启动redis: 第一步 本地安装Redis 服务 关于redis的教程链接 点击这里: ...

  7. 【原】无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页

    一.开发环境: 1.windows 7 企业版 2.IDEA 14 3.JDK 1.8 4.Maven 3.5.2 5.MariaDB 6.SQLYog 二.Maven设置: Maven目录下的con ...

  8. IDEA上创建 Maven SpringBoot + zookeeper +dubbo 实例

    概述 首先声明,本文是学习总结类型的博客内容,如有雷同纯属学习.本位主要结合zookeeper和dubbo做个简单实例.目前来说,一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越 ...

  9. springboot性能优化

    一.扫描优化 原文链接:http://www.studyshare.cn/blog-front/blog/details/1135 SpringBoot项目中的启动类,会使用@SpringBootAp ...

随机推荐

  1. 从源码编译InfluxDB

    操作系统 : CentOS7.3.1611_x64 go语言版本:1.8.3 linux/amd64 InfluxDB版本:1.1.0 go语言安装参考: http://www.cnblogs.com ...

  2. C#-MVC开发微信应用(2)--微信消息的处理和应答

    微信应用使用场景和商机很多,所以这也是一个技术的方向,因此,有空研究下.学习下微信的相关开发,也就成为SNF完善的必要条件了.本系列文章希望从一个循序渐进的角度上,全面介绍微信的相关开发过程和相关经验 ...

  3. Python3求解字符串滤值与百元买百鸡算法

    [本文出自天外归云的博客园] 第一题:给你一个字符串,打印出来前后没有空格,单词之间只有一个空格的字符串. 第二题:公鸡3元/只,母鸡4元/只,小鸡1元3只,给你money元一共多少种买法. 普通版解 ...

  4. java框架篇---hibernate之连接池

    Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP.在配置连接池时需要注意的有三点: 一.Apche的DBCP在Hibernate2中受支持,但在Hiber ...

  5. nginx日志分割小脚本

    nginx的日志一直是写在一个文件上面,运行久了之后文件会非常大,因此我们有必要对nginx的日志进行分割:   1 2 3 4 5 6 7 8 9 10 11 #! /bin/bash ACCESS ...

  6. opencv 基本使用

    1.下载opencv库 https://opencv.org/ 下载后文件: 双击提取文件到指定路径: * 下载winpack版本可以省去自己编译的步骤,下载后无需安装双击可以直接提取文件到指定目录: ...

  7. 【Python】socket模块应用

    [Socket] 本文记录了一些socket模块的简单应用,对于具体原理还没来得及深究. ■ 利用socket模块进行端口连接验证和扫描 在linux中常用nc命令来进行远端端口是否开放的验证.但是这 ...

  8. Mysql系列一:SQL入门

    csdn博客搬迁 连接数据库:1.在dos窗口下,进入数据库的安装目录的bin目录下,使用mysqld命令启动数据库服务,或者在计算机的服务里面启动mysql服务2.另外打开一个dos窗口,进入数据库 ...

  9. 让ubuntu下的eclipse支持GBK编码

    把Windows下工程导入Linux下Eclipse中,由于以前的工程代码,都是GBK编码,而Ubuntu默认不支持GBK编码,所以,我们要让Ubuntu支持GBK,方法如下: 1.修改/var/li ...

  10. Ubuntu上查内存情况

    free -h