Gradle官方介绍是Build Anything, Automate Everything,Deliver Faster,即构建任何项目,自动化,构建快。
Gradle VS Maven
这是官方跟Maven构建的比较视频
![640?wx_fmt=gif](https://mmbiz.qpic.cn/mmbiz_gif/ibUFbczATiaHbyYCtHZjRKda7qciaR7iaG6JTUoUFk7Irib6Fiazzw4NwUDnqmHbvvunZSSAOuMGTffD3ibsZxOHiaezIA/640?wx_fmt=gif)
可以明显看到Gradle速度快,显示内容也比较清爽
项目实例
IDEA创建初始项目
so easy..
copy 两个项目,目录结构是这样,这里用1-5标识Gradle配置文件
![640?wx_fmt=png](https://mmbiz.qpic.cn/mmbiz_png/ibUFbczATiaHbyYCtHZjRKda7qciaR7iaG6JL2ChBZfWJDj6SMDvrGPlpv4ukzrgSBqoNdvdzODJxibND2RKCmmGVmg/640?wx_fmt=png)
配置文件详解
1. settings.gradle
/**
* rootProject.name 项目名称
* include 模块名称
*/
rootProject.name = 'micro-service-framework'
include 'framework-base'
include 'framework-web'
include 'framework-redis'
2. build.gradle
这个相当于maven中的父maven配置
buildscript {
ext {
//spring boot 版本
bootVersion = '2.0.6.RELEASE'
}
//私服地址,这个地址适用于gradle自身,比如删除,下面的springboot插件就会找不到
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
}
//springboot gradle插件配置
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${bootVersion}")
}
}
allprojects {
//导入使用的插件
apply plugin: 'java'
apply plugin: 'maven'
//如果导入该插件,你需要指定main class,否则不能打包
//apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
//这个插件用于发布jar包到私服
apply plugin: 'maven-publish'
//jdk编译版本
sourceCompatibility = 1.8
//jar包的group ,version配置
group 'net.178le.micro'
version '0.0.1-SNAPSHOT'
//私服地址,
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
}
/**
* 导入了springboot,spring cloud的pom文件,能够免去自己管理版本
* PS: 在Spring官网指导上面有另外一种配置,那种配置需要配置main class,一会说明
*/
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-starter-parent:${bootVersion}"
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Finchley.SR2"
}
}
//私服发布配置
publishing {
publications {
maven(MavenPublication) {
//指定group/artifact/version信息,可以不填。默认使用项目group/name/version作为groupId/artifactId/version
groupId = project.group
artifactId = project.name
version = project.version
//如果是war包填写components.web,如果是jar包填写components.java
from components.java
//配置上传源码
artifact sourceJar {
classifier "src"
}
}
}
repositories {
maven {
def releasesUrl = "http://你的私服ip:8081/repository/maven-releases/"
def snapshotsUrl = "http://你的私服ip:8081/repository/maven-snapshots/"
url = version.endsWith('SNAPSHOT') ? snapshotsUrl : releasesUrl
credentials {
username = 'admin'
password = 'admin123'
}
}
}
}
}
//这里的配置对子项目生效
subprojects {
dependencies {
testCompile("org.springframework.boot:spring-boot-starter-test")
compile("com.google.guava:guava:28.0-jre")
}
}
//打包源码
task sourceJar(type: Jar) {
from sourceSets.main.allJava
}
maven publish使用
在task -> publishing 中有如下几个命令
我认为使用这两个命令就足够了
publishMavenPublicationToMavenLocal 发布项目到本地仓库
publishMavenPublicationToMavenRepository 发布项目到私服
PS:使用apply plugin: 'org.springframework.boot' build必须要指定main class
23:26:17: Executing task 'build'...
> Task :framework-base:compileJava NO-SOURCE
> Task :framework-base:processResources NO-SOURCE
> Task :framework-base:classes UP-TO-DATE
> Task :framework-base:jar SKIPPED
> Task :framework-redis:compileJava UP-TO-DATE
> Task :framework-redis:processResources NO-SOURCE
> Task :framework-redis:classes UP-TO-DATE
> Task :framework-redis:jar SKIPPED
> Task :framework-web:compileJava UP-TO-DATE
> Task :framework-web:processResources NO-SOURCE
> Task :framework-web:classes UP-TO-DATE
> Task :framework-web:bootJar FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':framework-web:bootJar'.
> Main class name has not been configured and it could not be resolved
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.10.3/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 1s
3 actionable tasks: 1 executed, 2 up-to-date
Main class name has not been configured and it could not be resolved
23:26:18: Task execution finished 'build'.
framework-web 项目 3. build.gradle
dependencies {
//依赖framework-redis项目
compile project(':framework-redis')
//不需要写版本
compile('org.springframework.boot:spring-boot-starter-web')
//不需要写版本
compile('org.springframework.cloud:spring-cloud-starter-openfeign')
}
framework-redis 项目 4. build.gradle
dependencies {
//依赖framework-base
compile project(':framework-base')
compile('org.springframework.boot:spring-boot-starter-data-redis')
}
framework-base 5. build.gradle
//做为演示没有引入任何jar包
dependencies {
}
![640?wx_fmt=png](https://mmbiz.qpic.cn/mmbiz_png/ibUFbczATiaHZ5ibxowLQBNpENJdN2cmvmWj5NyA8PYXPmsfhV5BXiaQKU5Lkqia23KqKpnYMOVpDKhSHJ51ibEXP2ug/640?wx_fmt=png)
相关推荐
使用springboot+kotlin+ktor+gradle搭建多模块项目例子,该项目整合MybatisPlus做为数据库框架,可搭配文章‘SpringBoot整合Ktor2与MybatisPlus’ 与 ‘ktor 2.0的使用教程之实现log日志和jwt封装与异常处理’一起...
gradle构建多模块的微服务架构,配置超简单简洁,基于springboot、shardingsphere、mybatisplus、HikariCp构建的web微服务。可以直接运行,在此基础上构建多模块聚合形式的业务系统。
主要介绍了springboot+gradle 构建多模块项目的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
gradle+springboot多模块构建demo,里面的数据库配置需要手动修改一下,gradle+springboot多模块构建demo
一个通过Gradle来构建SpringBoot的项目,代码简洁易懂,同时演示了Gradle如何进行模块化
您可能感兴趣的文章:Powershell 脚本数字签名实现方法史上最全的Android build.gradle配置教程springboot+gradle 构建多模块项目的步骤Gradle构建多模块项目的方法步骤Android studio gradle环境变量
Gradle建造多模块项目 使用一致的方式设计的更干净和规范的项目: : 步骤 新建一个gradle空模块(不插入java或其他类型),这就是整个...修改大项目下的setting.gradle文件,添加include'Springboot模块的名字'即可 然
# 进入setting.gradle , 找到自己想要运行的模块,取消注释,构建即可 gradle clean build -x test 项目介绍 SpringBoot-ActiveMq(ActiveMq消息类别) 集成ActiveMq,实现点到点发送,广播订阅功能,简单的小实例,...
Spring Boot 添加新模块的方法教程 Spring Boot 是一个基于 Java 的框架,提供了许多强大的功能来帮助开发者快速构建web应用程序。...* 了解项目基本结构和多模块应用的构建 * 提高自己的开发能力
1. SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中。 2,使编码变得简单,SpringBoot采用 JavaConfig的方式对Spring进行配置,并且...
SpringBoot 应用通常使用 Maven 或 Gradle 进行构建,并通过它们管理项目的依赖。Maven 的 POM.xml 文件中,可以通过添加 SpringBoot 的 Starters 来引入所需的依赖。 总结,SpringBoot 是 Spring 框架的扩展,通过...
1. SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中。 2,使编码变得简单,SpringBoot采用 JavaConfig的方式对Spring进行配置,并且...
弹簧靴架工程模板为快速创建一个SpringBoot工程工程名说明网络演示大量的SpringBoot使用示例网络原型WEB子工程原型(Spring Boot) 模块原型模块子工程原型(Java库)新建新建工程Windows环境新建工程浏览器访问如下...
- 项目构建工具可能包括Maven或Gradle,用于简化依赖管理和项目构建过程。 4. **资源获取**: - 提供了完整的源码、数据库文件、文档和PPT,方便用户理解和使用该系统。 - 可以通过CSDN社区或其他渠道联系作者获取...
- **依赖管理**:Spring Boot 使用 Maven 或 Gradle 的 starter POMs 和 dependencies,来帮助管理第三方库版本,避免了手动版本匹配的问题。 - **自动配置**:Spring Boot 提供了大量的自动配置类,能够根据项目...
2. **spring-boot-starters**: 虽然在统计中显示为0行,但这是一个特殊的模块,包含了各种"starter",如web、data-jpa等,它们是一组预先配置好的依赖集合,方便开发者快速构建项目。 3. **spring-boot-...
15. SpringBoot 包扫描之多模块多包名扫描和同类名扫描冲突解决 SpringBoot 提供了多种方式来实现包扫描,包括使用 @ComponentScan 注解、使用 @SpringBootApplication 注解等。 16. SpringBoot Spring Security ...
设置具有多个相互依赖模块的 Spring Boot 微服务。 先决条件:Java8,Gradle 5+ 按照以下步骤启动服务 $ git 克隆 $ cd Springboot-Gradle-Multimodule $ gradlew 干净的构建 $ gradlew 引导运行 这将启动微服务。 ...
基于Spring Boot的多模块项目配置指南 创建应用程序时,根据每个模块的组合,使用多个模块配置项目,并配置具有不同功能的应用程序的分发副本(例如,管理员应用程序,提供API的应用程序和提供网页的Web应用程序) ...
- 项目构建工具可能包括Maven或Gradle,这两种工具都可以有效地管理项目的依赖和构建过程。 4. **附加资源**: - 提供了完整的源码、数据库文件、文档和PPT,方便用户理解和使用该系统。 - 资源大小和具体的文件数量...