一、创建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. Windows10 IIS配置PHP运行环境

    http://www.cnblogs.com/wenhainan/p/5600346.html 在Windows 8 的IIS(8.0)中搭建PHP运行环境: 一:安装IIS服务器 1.进入控制面板& ...

  2. libmongoc关于\$pullAll和\$addToSet的一个使用问题记录

    问题描述及测试结果 在使用mongodb时,对一个document中的数组成员进行更新的时候,可以使用$pull $push $pop $addToSet $pullAll和$each $positi ...

  3. EntityFramework中常用的数据删除方式

    最近在学EF,目前了解到删除操作有三种方式, 第一,官方推荐的先查询数据,再根据查询的对象,删除对象. 这是第一种,官方推荐 第二,自己创建一个对象,然后附加,然后删除. 这是第二种 第三,自己创建对 ...

  4. Hadoop2.2.0分布式安装配置详解[3/3]

    测试启动 按照下面的每一步执行,执行完一定要看输出的信息,注意warn或error或fatal的情况.因为这都是可能是问题出现的地方.出现一个问题,不解决,可能就会影响接下来的测试.这才是真正的工作量 ...

  5. 启用phpstorm代码提示功能

    参考:http://www.dawnfly.cn/article-1-331.html mac下实际上将省电禁用即可

  6. 【Windows】Windows中解析DOS的for命令使用

    目录结构: contents structure [+] 简介 for /d ... in ... 案例 案例:打印C://根目录下所有的文件夹名称 案例:打印当前路径下,只有1-3个字母的文件夹名 ...

  7. 【转载】js关闭当前页面(窗口)的几种方式总结

    1. 不带任何提示关闭窗口的js代码 复制代码代码如下: <a href="javascript:window.opener=null;window.open('','_self'); ...

  8. 3D打印技术之切片引擎(5)

    [此系列文章基于熔融沉积( fused depostion modeling, FDM )成形工艺] 从这一篇文章開始,就開始说填充.在3D打印切片技术中,填充算法是最核心的部分.3D打印技术的经常使 ...

  9. .NET CORE MYSQL 微信小程序 HTTPS 随笔

    今天一天都没有撸码,没写BUG没改BUG,整一天都在弄那个微信小程序的配置了..唉.. 一个项目用的微信小程序,界面做出来了,就等着AJAX取网络数据后再显示到界面上了,查了下文档, 小程序取网络数据 ...

  10. 关于es6中的yield

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...