基于Gradle搭建springcloud项目
2021-10-31 本文已影响0人
愿你我皆是黑马
创建父工程
-
创建java的gradle项目工程
如图选择java的gradle项目创建工程
- 修改父工程的build.gradle文件 (下面的配置都可以类比安卓开发中的gradle配置)
sourceCompatibility = 1.8
buildscript {
ext {
//定义一个变量,统一规定springboot的版本
springBootVersion = '2.0.5.RELEASE'
springCloudVersion = 'Finchley.SR1'
}
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
mavenCentral()
}
dependencies {
//用来打包
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
allprojects {
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
//下面两句必须在所有子项目中添加,否则导致import了看起来没问题,但是编译时找不到其他模块的类。
group 'com.xxxxx.sp'
version '1.0-SNAPSHOT'
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
mavenCentral()
}
//指定编码格式
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
}
//设定当前模块项目中的配置
subprojects {
dependencies {
implementation "org.springframework.boot:spring-boot-starter-web"
testCompile('org.springframework.boot:spring-boot-starter-test')
}
}
- 删除父工程的src文件夹
创建子工程
-
同样是创建java的gradle项目工程
创建java的gradle项目工程
-
修改子工程的build.gradle文件 ,需留可能需要的子工程依赖的配置项dependencies即可。
子工程的build.gradle文件
子工程上传到nexus。(在子工程的build.gradle添加,其中的默认参数通过项目的gradle.properties配置文件配置)
apply plugin: 'maven'
//打包源代码
task sourcesJar(type: Jar, dependsOn: classes) {
//classifier = 'sources' //命名的时候在jar包文件名后面追加字符串,加了可能gradle找不到产物,所以去掉了
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://lib-address/") {
authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
}
pom.groupId = GROUP_ID
pom.artifactId = "lib-name"
pom.version = "0.0.1"
}
}
}
配置文件 .properties等resources文件夹内的操作。
maven的resources文件夹的操作在gradle的resources文件夹同样适用。