阿里开源COLA 4.0源码编译和部署过程

COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表”整洁面向对象分层架构”。 目前COLA已经发展到COLA 4.0。关于COLA架构详细入门和示例应用项目,可以访问《COLA 4.x架构入门和项目实践》技术专栏。

一、生成archeType模版文件
首先,从github获取cola源码:https://github.com/alibaba/COLA

打开项目所在目录,运行命令:mvn archetype:create-from-project

运行完这个命令后,会在项目目录下生成target目录,这个target目录下就是自动生成项目的模版项目,并生成一个jar。

二、将模版项目安装到maven

进入到target/generated-sources/archetype目录下,运行mvn install,将这个jar安装到本地仓库,当我们用archetype生成项目时,就需要选中我们安装的jar。如果需要共享到别它人,需要再执行mvn deploy,安装到中央仓库。

检查本地maven仓库中的jar包,如图所示:

~/.m2/repository/com/alibaba/cola/cola-framework-archetype-service-archetype/4.0.1/cola-framework-archetype-service-archetype-4.0.1.jar

三、添加自定义的archetype模版

在IDEA中添加上述编译生成的COLA项目模板,如图所示,这里的groupid、artifactid、version 使用mvn archetype:create-from-project命令生成的target/generated-sources/archetype目录下pom文件对应的值,设置参数如下:

添加完成之后,新增的COLA 项目模板就出现在列表中了,如图所示。

然后,在创建Maven项目时,就可以选择该Maven项目模板了。

DDD对构建企业级应用开发平台和大型核心业务系统的作用是非常明显的,无论是在产品的稳定性、扩展性、可维护性、生命周期等方面都有显著的提升。

领域驱动开发好处多多,概念比较多,门槛相对较高,对人员有一定要求,团队里至少需要有领路人。而领域驱动尤其适合业务相对复杂的项目。

《DDD领域驱动设计-货物运输系统》技术专栏从实战出发,通过DDD领域设计知识讲解-运行环境搭建-项目案例实战和源代码分析,让初学者快速掌握DDD和微服务应用开发。在技术专栏中,涉及到DDD领域模型设计、CQRS命令查询职责分离架构、EDA架构、六边形架构、Spring Boot、Spring Data JPA、Spring Cloud Stream和RabbitMQ等等知识点。欢迎访问和交流。

Original: https://www.cnblogs.com/rickie/p/15415016.html
Author: Rickie
Title: 阿里开源COLA 4.0源码编译和部署过程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/553312/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • FlinkSQL 之乱序问题

    乱序问题 在业务编写 FlinkSQL 时, 非常常见的就是乱序相关问题, 在出现问题时,非常难以排查,且无法稳定复现,这样无论是业务方,还是平台方,都处于一种非常尴尬的地步。 在…

    技术杂谈 2023年6月21日
    083
  • kaldi新手入门及语音识别的流程(标贝科技)

    kaldi新手入门及语音识别的流程(标贝科技) 欢迎体验标贝语音开放平台地址:https://ai.data-baker.com/#/?source=qaz123(注:填写邀请码h…

    技术杂谈 2023年7月24日
    073
  • 宕机日志解读

    参考 https://blog.csdn.net/rikeyone/category_10354155.html Linux内核故障分类和排查 Linux内核中oops 错误解析以…

    技术杂谈 2023年5月31日
    0108
  • Eclipse——安装Lua Eclipse插件

    首先单击Eclipse->Help->Install New Software 在出现的Install窗口中,点击右侧的Add 然后出现下图 在type filter …

    技术杂谈 2023年5月30日
    084
  • Vue 与Django配合,在开发过程中遇到的跨域访问问题

    Vue能快速构建网站框架及前端样式使其确定了其在前端页面开发的地位. 而Django框架作为服务后端的也是非常便利的. 为了使这两个框架结合,利用各自框架的优点,对野生程序员来说是…

    技术杂谈 2023年7月11日
    072
  • idea环境下SpringBoot Web应用引入JSP

    环境 开发环境:idea2019.3jkd版本:1.8springboot版本:2.6.2 引入JSP的步骤 2.1 新建工程,引入依赖 这里只是解析jsp,因此只需要引入spri…

    技术杂谈 2023年7月11日
    060
  • Red Hat dhclient

    如果你是通过dhcp动态获取ip进行上网,我们一般情况下需要对/etc/sysconfig/network-scripts目录下对应的网卡配置进行修改,将BOOTPROTO改为dh…

    技术杂谈 2023年6月1日
    084
  • 每天一个 HTTP 状态码 100

    100 Continue 指示客户端应该继续当前请求;如果请求已经完成… 100 Continue 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分;指示客户…

    技术杂谈 2023年7月11日
    066
  • .NET7一个实用功能-中央包管理

    依赖管理是 NuGet 的核心功能。Nuget管理单个项目的依赖关系很容易。管理多项目解决方案的依赖关系可能会变得很困难,因为它们的规模和复杂性开始扩大。 在您管理许多不同项目的公…

    技术杂谈 2023年7月24日
    073
  • Flume和Sqoop

    vim flume-dir-hdfs.conf 添加如下内容 a3.sources = r3 a3.sinks = k3 a3.channels = c3 Describe/con…

    技术杂谈 2023年7月24日
    060
  • go-select 机制

    select 的用法与 switch 语言非常类似,由 select 开始一个新的选择块,每个选择条件由 case 语句来描述。 与 switch 语句相比,select 有比较多…

    技术杂谈 2023年7月11日
    063
  • OpenSSL生成证书申请-增加可选名称

    1.修改 修改vim /etc/pki/tls/openssl.cnf 取消req下被注释的第2行[ req ]distinguished_name = req_distingui…

    技术杂谈 2023年5月31日
    087
  • Qt MSVC与MinGW的区别

    Qt 中有两种方式编译,一种是MinGW ,另一种MSVC。 1.MSVC是指微软的VC编译器。2.MinGW是指是Minimalist GNU on Windows的缩写。它是一…

    技术杂谈 2023年5月31日
    0107
  • java内存区域模型和详解

    一,概述 java虚拟机运行时数据区模型图: 主要包括:程序计数器,java虚拟机栈,本地方法栈,java 堆,方法区(元空间)。 其中堆和方法区由所有线程共享的数据区;程序计数器…

    技术杂谈 2023年7月11日
    070
  • ThreeJS中创建文字的几种方法

    1. DOM + CSS 传统html5的文字实现,用于添加描述性叠加文字的方法。一般使用绝对定位,并且保证z-index够大,用于显示在3D场景之上。 优点:与CSS3D效果一致…

    技术杂谈 2023年7月24日
    063
  • Oracle Client没有正确安装

    lnitialization errorOracle Client没有正确安装OracleHomeKey:OracleHomeDir: Original: https://www….

    技术杂谈 2023年5月30日
    099
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球