使用 gradle 工具构建一个sofa的 rpc 泛化调用的项目
1 研究gradle的背景介绍
最近在解决客户那里的链路跟踪的问题,用户那里是用的gradle来构建项目的,不是特别的熟悉所以就研究了下整理到lark里面。
2、使用idea 构建一个gradle的聚合工程
2.1 创建父工程
file --> new --> project 选择gradle 不要选中java
-->next
填写group,artfact
-->next
注意选中 箭头的三项。
注意:gradle home 是本地的需要提前下载
2.2 创建子工程
new --> module 选择gradle 选中java
剩下的步骤和上面的一样。
3 项目结构说明
- gradle-parent 父目录
- user-service-consumer 服务的消费着
- user-service-facade 接口模块
- user-service-provider 服务的提供着
4 build.gradle 和settings.gradle 文件说明
4.1 build.gradle文件说明
//allprojects 这个标签的意思是所有的工程都可以父工程的配置子工程相同的都不用写了 allprojects { group 'com.ali.sofa' version '1.0-SNAPSHOT' //打包的方式是 jar包 如果想打成 war包 修改为 apply plugin: 'war' 就行。 apply plugin: 'java' //jdk的版本 sourceCompatibility = 1.8 //仓库地址 repositories { //先去本地找依赖 mavenLocal() //然后去maven的中央仓库找 mavenCentral() } //依赖的书写方式 dependencies { compile group: 'com.alipay.sofa', name: 'sofaboot-enterprise-dependencies', version: '3.1.1' } }
4.2 settings.gradle 文件说明
rootProject.name = 'gradle-parent' include 'user-service-facade' include 'user-service-provider' include 'user-service-consumer'
5 子模块依赖说明
这里的说明以 服务消费着举例子
dependencies { //依赖工程的接口模块 compile project(":user-service-facade") //当前模块需要的依赖 compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.13.RELEASE' }
6 测试结果